Está en la página 1de 6

Heap Sort

Almiron, Baggio, Farizano, Gasparini, Gauna, Gonzalez Urbieta, Lezcano


Heap sort u Ordenamiento por montículos

● Es un algoritmo de ordenamiento no recursivo, no estable, con complejidad


O(n log n)
● En este algoritmo primero creamos el montículo usando los elementos dados
● Creamos un Montículo Máximo para ordenar los elementos en orden
ascendente
● Una vez el montículo está creado, reemplazamos el nodo raíz con el último
nodo y borramos el último nodo del montículo
● Repetimos hasta completar el ordenamiento
Árboles Binarios

Cuando hablamos de “montículos” en realidad


nos estamos refiriendo a árboles binarios.

En ciencias de la computación, un árbol binario


es una estructura de datos en la cual cada nodo
puede tener un hijo izquierdo y un hijo derecho.

No pueden tener más de dos hijos (de ahí el


nombre "binario").
Árboles Binarios
Análisis del Código

T(n) Mejor caso: Para que se cumpla el mejor caso debemos tener todos los elementos
ordenados antes de comenzar la creación del árbol.

T(n) Peor caso:

El ordenamiento por heap sort forma parte de los algoritmos de ordenamiento cuyas complejidades temporales son O(n log n),
aún para el peor caso, a diferencia de muchos otros algoritmos de ordenamiento como los que ya hemos visto, donde para el peor
caso se tiene un orden de O(n^2). Heap sort alcanza esta complejidad temporal de O(n log n) debido esencialmente a que
utiliza una estructura de datos de modo que cada operación de salida requiere a lo sumo log i pasos, donde i es el número de
elementos restantes. Nótese que este inteligente diseño de estructura de datos es fundamental para el ordenamiento heap sort

También podría gustarte