Изменения

Перейти к: навигация, поиск

Дерево поиска, наивная реализация

7 байт добавлено, 19:26, 10 июня 2012
м
Вставка
=== Вставка ===
Операция вставки работает аналогично поиску элемента, только при обнаружении у элемента отсутствия ребенка нужно подвесить на него вставляемый элемент. Приведем итеративную реализацию этого алгоритма.
'''insert'''(Node x, Node z) // корень дереваподдерева, вставляемый элемент
Node y = null
'''while''' x != null
y.left = z
Время работы алгоритма <tex>O(h)</tex>.
 
=== Удаление ===
Для удаления узла из бинарного дерева поиска нужно рассмотреть три возможные ситуации. Если у узла нет дочерних узлов, то у его родителя нужно просто заменить указатель на null. Если у узла есть только один дочерний узел, то нужно создать новую связь между родителем удаляемого узла и его дочерним узлом. Наконец, если у узла два дочерних узла, то нужно найти следующий за ним элемент(у этого элемента не будет левого потомка) и переместить его на место удаляемого узла. Время работы алгоритма <tex>O(h)</tex>.
355
правок

Навигация