Está en la página 1de 7

NOMBRE: Lenin Morocho

FECHA:18/1/2021

ASIGNATURA: Programación

GRUPO: 15

TEMA: Algoritmo de Ordenamiento


• Definir que es, algoritmo de ordenamiento.
• Enumerar los temas compuestos por el algoritmo de ordenamiento.
• Crear ejemplos con da uno de los temas en Python.
¿Qué es el algoritmo de ordenamiento?
Es poner orden en los elementos de una estructura de datos, es decir pone
elementos de una lista o un vector en una secuencia dada, por una relación
de orden.
El algoritmo de ordenamiento está compuesto por diferentes algoritmos que
mostraremos a continuación.
1. Algoritmo por selección
Es un algoritmo de ordenamiento que requiere operaciones para
ordenar una lista de n elementos.

En la siguiente tabla nos muestra que el algoritmo por lección tiene una
complejidad de tiempo de 𝑛2 y complejidad de espacio de 1, es decir que
utiliza una cantidad de memoria constante y que no es estable.
¿Qué quiere decir que un algoritmo no es estable?
Es cuando se puede cambiar el orden original, ejemplo:
Ordenar por el primer elemento de la dupla.

Tenemos dos duplas con el elemento 3


Como ya vimos anteriormente que, si se puede cambiar el orden original en
un algoritmo no estable, entonces nos quedaría de la siguiente manera.
En la siguiente imagen que mostraremos veremos un claro ejemplo de
algoritmo de ordenamiento por selección en Python

2. Algoritmo por inserción


Permite el ordenamiento de una lista, su funcionamiento consiste en
un recorrido por la lista seleccionada en cada interacción un valor
como clave y compararlo con el resto insertándolo en el lugar
correspondiente.

Este algoritmo tendrá una complejidad de tiempo cuadrática es decir


𝑛2 y una complejidad de espacio de 1 es decir constante.
3. Algoritmo por burbuja
Consiste en recorrer cada elemento y comparabdolo con el que tiene
delante ya que si el elemento que le sigue es menor entonces se podrá
intercambiar

Entonces cumpliendo lo que se dijo anteriormente su ordenamiento


quedara así

Bueno en la siguiente imagen mostraremos un ejemplo realizado en


Python.
El algoritmo termina hasta que el índice i haya recorrido todo el
vector y no haya mas remplazos durante el recorrido del índice j.

4. Algoritmo por Quicksort

Es uno de los ordenamiento más eficaz y rápido, a diferencia de los


demás algoritmos este tiene complejidad de tiempo media n log n y
no como los anteriores, que tenían complejidad cuadrática.
Tiene complejidad de espacio no estable, es decir que puede cambiar
su forma original.
A continuación, veremos el siguiente ejemplo, realizado con las
normas dichas anteriormente

Es decir, donde los números menores quedaran en la parte izquierda


y los números mayores quedan ubicados en la parte derecha
Entonces quedara asi

bueno ahora mostraremos un ejemplo realizado en Python con la función


auxiliar particionado
con la función pivote dividimos la lista en dos partes, de tal forma que ya no se
debe comparar los mayores con los menores.

Conclusiones
En conclusión se logro cumplir con los objetivos propuestos al inicio de esta
investigación, se cumplió con la definición de tema propuesto , que nos ayuda
a ordenar una lista de elementos , son su respectiva función, y logro dar los
ejemplos correspondientes propuestos por los temas.
Bibliografía

https://uniwebsidad.com/libros/algoritmos-python/capitulo-20/resumen-
18#:~:text=El%20algoritmo%20Quick%20Sort%20consiste,de%20las%20dos%2
0sublistas%20formadas.

https://repl.it/languages/python3

También podría gustarte