Heap sort array سے ایک binary heap بناتا ہے، پھر بار بار maximum نکال کر sorted ترتیب بناتا ہے۔ یہ O(n log n) میں چلتا ہے اور in-place ہے۔
خیال
ایک max-heap سب سے بڑے عنصر کو root میں رکھتا ہے۔ Heap بنائیں (O(n))، پھر root کو آخر میں swap کریں، heap کو سکیڑیں، اور re-heapify (sift down) کریں — n بار۔
مثال
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
