Este documento describe el algoritmo de ordenamiento HeapSort. Explica que HeapSort utiliza una estructura de montículo binario donde los padres siempre son mayores que sus hijos para ordenar los elementos de un vector. También describe los pasos del algoritmo como construir el montículo y extraer elementos para obtener el vector ordenado. Finalmente, analiza la complejidad computacional de HeapSort y sus ventajas y desventajas respecto a otros algoritmos de ordenamiento.
2. • ¿Qué es un HeapSort?
• El termino “Heap” o montículo es un árbol Binario
donde todos los padres son mayores que su hijos.
• Un HeapSort es un algoritmo de ordenamiento que
utiliza un “Heap” para ordenarlos.
3. • Un árbol es una estructura de datos o conjunto
finito el cual puede ser vacío o tener un par de
arboles llamados izquierdo y derecho.
• Cuando un nodo no tiene hijos se le denomina
“hojas” o “nodo terminal”.
Arboles Binarios
4.
5. Podemos decir que es un algoritmo de ordenamiento no
recursivo, no estable y con complejidad computacional.
Para representar los enlaces con los hijos se utilizan punteros.
El árbol vacío se representará con un puntero nulo.
Un árbol es una estructura no secuencial.
6. • Este algoritmo consiste en almacenar todos los elementos del
vector a ordenar en un montículo y luego extraer el nodo que
queda como raíz en sucesivas iteraciones obteniendo el
conjunto ordenado. Su funcionamiento se basa en una
propiedad de los montículos, por la cual la cima siempre
(depende de como se defina) contendrá el mayor o menor
elemento del montículo.
Funcionamiento
7. • Mejor Caso: 0(n)
• Caso Promedio: 0(n^2)
• Peor Caso: 0(N log (N))
8. La principal ventaja es que funciona mas efectivamente con datos
desordenados.
Su desempeño es en promedio tan bueno como el quicksort y se
comporta mejor que este ultimo en los peores casos.
No utiliza memoria adicional
9. No es estable, ya que se comporta de manera muy
ineficaz con datos del mismo valor.
Es un método muy complejo.
10. • En base a la figura anterior el
recorrido Pre-orden actuaria de la
siguiente forma:
2, 7, 2, 6, 5, 11, 5, 9 y 4.
En este tipo de recorrido se realiza cierta acción
sobre el nodo actual y posteriormente se trata el
subárbol izquierdo y cuando se haya concluido, el
subárbol derecho. Otra forma para entender el
recorrido con este método seria seguir el orden:
nodo raíz, nodo izquierda, nodo derecha.
11. • En base a la figura anterior el
recorrido Post-orden actuaria de la
siguiente forma:
2, 5, 11, 6, 7, 4, 9, 5 y 2.
El recorrido “post-orden” lo recorre de la siguiente
manera, viaje a través del árbol binario desplegando el
contenido en el nodo izquierdo después la raíz y
finalmente viaja a través del nodo derecho.
otra forma para entender el recorrido con este método
seria seguir el orden: nodo izquierda, nodo derecha,
nodo raíz.
12. En base a la figura anterior el
recorrido In-orden actuaria de la
siguiente forma:
2, 7, 5, 6, 11, 2, 5, 4, 9.
El Recorrido “In-Orden” lo recorre de la siguiente
manera, viaje a través del Árbol Binario
desplegando el Contenido en el Nodo Izquierdo
después el Nodo Derecho y finalmente viaja a
través de la Raíz. Otra forma para entender el
recorrido con este método seria seguir el orden:
nodo izquierda, nodo raíz, nodo derecha.