Как можно удалить узел двоичного дерева со всеми возможностями? - PullRequest
1 голос
/ 19 сентября 2009

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

Итак, как я могу удалить узел?

1 Ответ

1 голос
/ 19 сентября 2009

Запись в Википедии - Двоичное дерево поиска - объясняет, как реализовывать операции BST.

Удаление : Можно рассмотреть несколько случаев:

  • Удаление листа: удаление узла с нет детей легко, как мы можем просто удали его из дерева.
  • Удаление узла с одним дочерним элементом: удалите его и замените его дочерним.
  • Удаление узла с двумя дочерними элементами: вызвать удаляемый узел "N". Не удаляйте N. Вместо этого выберите его преемный узел по порядку или предшествующий узел по порядку «R». Замените значение N значением R, затем удалите R. (Примечание: само R имеет до одного дочернего элемента.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...