Heap sort vytvoří binární haldu z pole, poté opakovaně extrahuje maximum a vytvoří seřazený porядок. Běží v O(n log n) a je in-place.
Myšlenka
Max-halda uchovává největší prvek v kořeni. Vytvořte haldu (O(n)), poté vyměňte kořen na konec, zmenšete haldu a znovu ji uspořádejte (sift down) — n krát.
