Kopcowanie w miejscu

Chodzi mi o algorytm kopcowania w miejscu (bez dodatkowej tablicy), myślę, że wygląda to tak:

Heap_sort_example.gif

Ale nie wiem jak wybiera potomka: mniejszego, większego czy po prostu pierwszego z prawej?

  1. bierzesz ostatniego przodka (w sensie najniżej i najbardziej po prawej)

  2. “zamieniasz” go z korzeniem

  3. przywracasz strukturę kopca

  4. idź do 1.