12
Heap Sort Algoritmo de Ordenamiento INTEGRANTES. • SERGIO ORMEÑO • JONATHAN GARCIA • EDUARDO LEIVA

Algoritmo Heap Sort

Embed Size (px)

Citation preview

  • 1. Heap Sort Algoritmo de Ordenamiento INTEGRANTES. SERGIO ORMEO JONATHAN GARCIA EDUARDO LEIVA

2. Conjunto finito de nodos el cual puede ser vaco o tener un par de rboles llamados izquierdo y derecho. Cuando un nodo no tiene hijos se le llama hoja o nodo terminal. rbol Binario rbol Binario Completo Es aquel que en todos los nodos, solo tienen 2 o cero descendientes. 3. Este head o montculo es un rbol binario donde todos los padres son mayores que sus hijos. Este rbol binario tiene que ser completo, es decir, que debe tener todos sus niveles llenos, excepto el ultimo y en este ultimo nivel todos los hijos esta a un mismo lado ( por ejemplo a la izquierda). Qu es un Head? 4. Es un algoritmo de ordenacin basado en comparaciones de elementos que utiliza un Heap para ordenarlos. Tambin podemos decir que es un algoritmo de ordenacin no recursivo, no estable , con complejidad computacional. Qu es Heap Sort? 5. Este algoritmo consiste en almacenar todos los elementos del vector a ordenar en un montculo y luego extraer el nodo que queda como raz en sucesivas iteraciones obteniendo el conjunto ordenado. basa su funcionamiento en una propiedad de los montculos, por la cual, la cima siempre (depende de como se defina) contendr el mayor o menor elemento del montculo. Cmo Funciona Heap Sort? 6. VENTAJAS - La principal ventaja es que este mtodo funciona mas efectivamente con datos desordenados. - Su desempeo es en promedio tan bueno como el Quicksort y se comporta mejor que este ltimo en los peores casos. - No utiliza memoria adicional. DESVENTAJAS - No es estable, ya que se comporta de manera ineficaz con datos del mismo valor. - Mtodo mas complejo Ventajas y Desventajas 7. Caractersticas Heap Sort No recursivo: Porque no usa mtodos que se llamen a s mismos, sino que usa sucesivas iteraciones para obtener el conjunto de nodos ordenados. No estable Ya que se comporta de manera poco eficaz con datos del mismo valor. Con complejidad O(n log n). Funcionamiento: El rbol se llena de izquierda a derecha, lo que implica que si algn (os) nodo (s) no est (n) en el mismo nivel que el resto, ste (os) estar (n) entonces lo ms a la izquierda posible del rbol. El orden de ejecucin para el peor caso es O (N log(N)). 8. 1. Se construye el montculo inicial a partir del arreglo original. 2. Se intercambia la raz con el ultimo elemento del montculo. 3. El ultimo elemento queda ordenado. 4. El ultimo elemento se saca del montculo, no del arreglo. 5. Se restaura el montculo haciendo que el primer elemento baje a la posicin que le corresponde, si sus hijos son menores. 6. La raz vuelve a ser el mayor del montculo. 7. Se repite el paso 2 hasta que quede un solo elemento en el montculo. Algoritmo Lgico 1 9. 20 10 11 8 19 2 15 12 33 73 Ejemplo Algoritmo Heap Sort 10. Ordenacin por montculos Heap Sort 11. Ordenacin por montculos Heap Sort