Самый маленький листовой узел в минимальной куче, используя только операции кучи - PullRequest
0 голосов
/ 30 мая 2018

Как найти наименьший листовой узел в минимальной куче, используя только операции кучи?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Единственное требование в минимальной куче - каждый узел меньше своего родителя.Таким образом, между листами нет порядка, что означает, что таким листом может быть любой узел во второй половине массива, который используется для хранения кучи.Итак, нужно пройти n / 2 элементов (вторая половина массива) и найти наименьший.

0 голосов
/ 30 мая 2018

Если это двоичная куча, вы можете взять [floor (n / 2)] + 1, когда n - количество элементов в куче. Это даст вам самый левый крайний узел.

...