Heap sort bygger en binær heap fra arrayet, og henter derefter gentagne gange det maksimale element for at producere sorteret rækkefølge. Det kører i O(n log n) og er in-place.
Ideen
En max-heap holder det største element i roden. Byg heapen (O(n)), byt derefter roden til slutningen, formindsk heapen, og re-heapify (sift down) — n gange.
