Повторная настройка двоичной кучи после удаления минимального элемента - PullRequest
1 голос
/ 22 мая 2010

После удаления минимального элемента в двоичной куче, т. Е. После удаления корня, я понимаю, что куча должна быть скорректирована, чтобы сохранить свойство кучи. Но предпочтительный способ сделать это - назначить последний лист корню и просеять его вниз.

Мне интересно, почему мы не берем младшего ребенка того, что раньше было корнем, а просто продолжаем просеивать всех детей? Разве это не то же самое количество операций, так почему же предпочтителен метод «присвоить последний лист корню и просеять вниз»?

1 Ответ

4 голосов
/ 22 мая 2010

Потому что вы должны держать дерево заполненным с левой стороны в последнем ряду. Взбираясь сверху вниз, вы не можете гарантировать, что последний элемент, который вы поднимите вверх, будет самым правым элементом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...