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

Presentacion Algoritmo heapsort

Embed Size (px)

Citation preview

Page 1: Presentacion Algoritmo heapsort

Heap Sort

Algoritmo de Ordenamiento

INTEGRANTES.• SERGIO ORMEÑO• JONATHAN GARCIA• EDUARDO LEIVA

Page 2: Presentacion Algoritmo heapsort

Conjunto finito de nodos el cual puede ser

vacío 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 ocero descendientes.

Page 3: Presentacion Algoritmo heapsort

Este head o montículo 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?

Page 4: Presentacion Algoritmo heapsort

Es un algoritmo de ordenación

basado en comparaciones de

elementos que utiliza un Heap para

ordenarlos.

También podemos decir que es un

algoritmo de ordenación no

recursivo, no estable , con

complejidad computacional.

¿Qué es Heap Sort?

Page 5: Presentacion Algoritmo heapsort

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. basa su

funcionamiento 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.

¿Cómo Funciona Heap Sort?

Page 6: Presentacion Algoritmo heapsort

VENTAJAS

- La principal ventaja es que este

método funciona mas

efectivamente con datos

desordenados.

- Su desempeño 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.

- Método mas complejo

Ventajas y Desventajas

Page 7: Presentacion Algoritmo heapsort

Características Heap Sort

No recursivo:

Porque no usa métodos 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 algún (os) nodo (s) no está (n) en el mismo nivel que el resto, éste (os) estará (n) entonces lo más a la izquierda posible del árbol.

El orden de ejecución para el peor caso es O (N · log(N)).

Page 8: Presentacion Algoritmo heapsort

1. Se construye el montículo inicial a partir del arreglo original.

2. Se intercambia la raíz con el ultimo elemento del montículo.

3. El ultimo elemento queda ordenado.

4. El ultimo elemento se saca del montículo, no del arreglo.

5. Se restaura el montículo haciendo que el primer elemento baje a la posición que le

corresponde, si sus hijos son menores.

6. La raíz vuelve a ser el mayor del montículo.

7. Se repite el paso 2 hasta que quede un solo elemento en el montículo.

Algoritmo Lógico

º1

Page 9: Presentacion Algoritmo heapsort

20 10 11 8 19 2 15 12 33 73

Ejemplo Algoritmo Heap Sort

Page 10: Presentacion Algoritmo heapsort

Ordenación por montículos – Heap Sort

Page 11: Presentacion Algoritmo heapsort

Ordenación por montículos – Heap Sort

Page 12: Presentacion Algoritmo heapsort