Heap sort membangun binary heap dari array, kemudian secara berulang mengekstrak maksimum untuk menghasilkan urutan terurut. Berjalan dalam O(n log n) dan in-place.
Idenya
Max-heap menyimpan elemen terbesar di akar. Bangun heap (O(n)), kemudian tukar akar ke akhir, kurangi heap, dan terapkan ulang sift down — n kali.
Contoh
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
