Heap sort bouwt een binary heap uit de array, haalt vervolgens herhaaldelijk het maximum uit om gesorteerde volgorde te produceren. Het draait in O(n log n) en is in-place.
Het idee
Een max-heap houdt het grootste element aan de wortel. Bouw de heap (O(n)), verwissel vervolgens de wortel naar het einde, verklein de heap en herpelletiseer (sift down) — n keer.
