Keko-lajittelu rakentaa binäärisen keon taulukosta ja poimii sitten toistuvasti maksimin tuottaakseen lajitellun järjestyksen. Se toimii O(n log n) ja on paikalla.
Idea
Max-keko säilyttää suurimman elementin juuressa. Rakenna keko (O(n)), vaihda sitten juuri loppuun, kutista keota ja uudelleenkeon (sift down) — n kertaa.
Esimerkki
heapq
():
heapq.heapify(arr)
[heapq.heappop(arr)
_ ((arr))]
heap_sort([, , , , ])
