13
Heap sort Algoritmo de Ordenamiento HEIDY LINARES

Heap sort (Monticulos)

Embed Size (px)

DESCRIPTION

analisis de algoritmos heap sort (monticulos)

Citation preview

  • 1. Heap sort Algoritmo de OrdenamientoHEIDY LINARES

2. rbol Binario 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 Completo Es aquel que en todos los nodos, solo tienen 2 o cero descendientes. 3. Qu es un Head? 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). 4. Qu es Heap Sort? Es un algoritmo ordenacin basado comparaciones elementos que utiliza heap para ordenarlos.de en de un Tambin podemos decir que es un algoritmo de ordenacin no recursivo, no estable , con complejidad computacional. 5. Cmo Funciona Heap Sort? 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. 6. Ventajas y Desventajas 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 7. Caractersticas Heap Sort 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. 8. Algoritmo Lgico 11. 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. 9. Ordenacin por montculos Heap Sort 10. Ordenacin por montculos Heap Sort 11. COMPARACION ALGORITMOS DE ORDENAMIENTO ORDENAMIENTOVENTAJASALGORITMO BURBUJAFcil de implementar No requiere memoria adicionalALGORITMO INSERCINFcil implementacin Requerimientos mnimos de memoriaALGORITMO DE SELECCINFcil de implementar No requiere memoria adicional Realiza pocos intercambios Rendimiento constante: poca diferencia entre el peor y el mejor casoALGORITMO SHAKERelativamente fcil de implementar. No requiere memoria adicionalALGORITMO SHELLNo requiere memoria adicional. Mejor rendimiento que el mtodo de Insercin clsicoQUICK SORTMuy rpido No requiere memoria adicional.HEAP SORTSu desempeo es en promedio tan bueno como el Quicksort y se comporta mejor que esteDESVENTAJAS Muy lento Muchas comparaciones Muchos intercambios Lento Numerosas comparaciones Lento Realiza numerosas comparacionesRealiza numerosas comparaciones. Realiza numerosos intercambios. Es inestable no mantiene el orden relativo de los registros. Mtodo mas complejo Implementacin un poco ms complicada Mtodo mas complejoESTABILIDADNo intercambia registros con claves iguales No intercambia registros con claves iguales. Por lo tanto es estable Puede que haya algo de discrepancia pero esta implementacin parece ser estable, puede verificar esto ordenando un conjunto de datos que tenga un par de ellos con la misma clave, el orden relativo entre ellos es conservado, pero algunos autores dicen que no es estable. Es inestable no mantiene el orden relativo de los registros. Es inestable no mantiene el orden relativo de los registros. 12. Ejemplo Algoritmo Heap Sort 392151233201011817