Se basa en un tipo de árbol binario (apilamiento), este se va llenando de izquierda a derecha en donde el nodo padre (heap) posee un valor mayor a sus nodos hijos.

Este algoritmo inserta los elementos del vector en un “montículo” y aprovecha que de esta manera tendremos siempre el mayor elemento en la raíz. Para obtener los elementos ordenados de mayor a menor, se debe tomar el valor de la raíz, eliminar la raíz y reordenar el “montículo” hasta agotar sus nodos.

Ventajas

Su desempeño es en promedio tan bueno como el Quicksort y se comporta mejor que este último en los peores casos.

Desventajas

Aunque el Heapsort tiene un mejor desempeño general que cualquier otro método presentado de clasificación interna, es bastante complejo de programar.

Ejemplo de Heapsort: