Используйте эту функцию для достижения желаемого узла:

му я пытаюсь реализовать двоичную кучу мин. Я понимаю, что влечет двоичная минимальная куча с точки зрения ее структуры и ее свойств. Однако я пытаюсь реализовать стену, используя указатели и узлы.

Я используюNode, у которого естьright/left and pointers, int element а такжеparent pointer, У меня также естьLastNode в месте, которое указывает на последний вставленный узел.

Моя ссора в том, что я не знаю, что делать, когда я вставляю элемент в терминах последнего узла. Вот что я имею в виду.

Шаг 1.) Предположим, что куча пуста, поэтому вы создаетеroot а именно х, где х содержит элемент, и вы установитеroot.left/right = null а такжеLastNode = root.left.

  X
 / \
0   0

Это та часть, где я застрял. Я знаю, что когда вы создаете другой узел для хранения другого элемента, он будет находиться слева от X или там, куда указывает LastNode. Мои вопросы, что мне делать дальше с LastNode, я указываю это на x.right? Я пытаюсь сохранитьinsert(int x) работает в logN, и манипуляция lastNode будет становиться все длиннее и интенсивнее на каждом уровне.

Может кто-нибудь сломать это? Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос