Как сбить? - PullRequest
       18

Как сбить?

2 голосов
/ 02 ноября 2010

В настоящее время я работаю над заданием для класса структур данных и алгоритмов.
Я должен удалить узел из данной кучи;

         6     after replacing the node ;            20  
       /   \                                        /  \
     11     9                                      11    9
    /  \   / \                                    / \   / \
   17  18 15 10                                  17 18 15 10
  /
 20

Вопрос, который у меня возникает, состоит в том, буду ли я спускаться вправо, влево или имеет значение?

Ответы [ 2 ]

2 голосов
/ 02 ноября 2010

Так как у вас есть минимальная куча, ваша операция downheap должна поменять нового родителя с меньшим из его потомков. В противном случае обмен может привести к нарушению условия кучи.

0 голосов
/ 21 ноября 2016

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

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