Heap sort, diziden bir binary heap oluşturur, ardından sıralanmış sıra üretmek için en büyük öğeyi tekrar tekrar çıkarır. O(n log n) içinde çalışır ve yerinde dir.
Fikir
Bir max-heap en büyük öğeyi kökte tutar. Heap oluşturun (O(n)), kökü sona değiştirin, heap i küçültün ve yeniden heapify edin (sift down) — n kez.
Örnek
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
