Heap sort membina binary heap daripada array, kemudian secara berulang mengekstrak maksimum untuk menghasilkan susunan yang disusun. Ia berjalan dalam O(n log n) dan in-place.
Idea
Max-heap menyimpan elemen terbesar di akar. Bina heap (O(n)), kemudian tukarkan akar ke hujung, susutkan heap, dan padu-semulakan (sift down) — n kali.
Contoh
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
