El documento describe el algoritmo de ordenamiento HeapSort. HeapSort funciona construyendo primero un montículo máximo (árbol binario casi completo) del arreglo y luego extrae elementos uno a uno del montículo para colocarlos al final del arreglo ordenado. El costo de tiempo de HeapSort es O(n log n) ya que la construcción del montículo toma O(n) y la extracción y ordenamiento toma O(log n) por cada uno de los n elementos. El documento también incluye ejemplos de código C++ que implementan HeapSort.