2015-10-19 10 views
1

В чем разница между вставкой в ​​двоичном дереве поиска (BST) и в двоичном дереве (BT)? Я знаю, что в BST вы сравниваете значение нового узла с root, если оно меньше, вы добавили его слева, если больше вы добавляете его справа от корня. Это же процедура для BT? Если нет, то какая процедура выполняется для вставки и удаления?Вставка в двоичном дереве поиска против вставки в двоичном дереве

+0

Возможно, вы спрашиваете о различии между простым двоичным деревом поиска по сравнению с * сбалансированным * деревом двоичного поиска? Сбалансированное двоичное дерево имеет более сложные вставки, чтобы предотвратить вырожденные случаи, когда части дерева глубже других частей в зависимости от того, какой порядок вы вставляете в узлы. –

ответ

1

Похоже, что у вас есть непонимание неполадок, связанных с BT и BST. Сначала вам нужно знать разницу между BT и BST.

  • Двоичное дерево - это дерево, в узле которого не более 2 детей. Хранение детей слева или справа от ветви не зависит от значения детей.
  • Двоичное дерево поиска - двоичное дерево, в котором дети каждого узла хранятся в определенном порядке. Дети, меньшие, чем родительские Узел обычно хранится на левой ветви, больше или равно справа.

Отвечая на Ваш вопрос:

  • вставки в бинарное дерево вам нужно следить, что каждый узел имеет не более 2 детей. Другими словами, чтобы добавить элемент в двоичное дерево, вы просто добавляете его как дочерний элемент в любой узел с числом детей менее 2.
  • inserting in Search Binary Tree необходимо отслеживать, что дети хранятся в определенном порядке (ребенок меньше родителя слева и больше или равен справа), а родитель имеет не более 2 детей.
0

Вы не ограничены, чтобы иметь детей < = или> = родительскому узлу в зависимости от права налево/вправо.

Просто поместите их в любом месте, пока каждый узел имеет не более 2 детей.

Смежные вопросы