2013-12-11 5 views
0

У меня есть некоторые вопросы об определенном размещении дочерних узлов, так как я просто изучаю BST, и это довольно запутанно даже после чтения некоторых источников и создания некоторых аплетов для вставки в сеть. Предположим, я хочу добавить узлы 5,7,3,4 в пустой базовый BST.Размещение узла вставки Basic и Balance BST

add 5 

    5 

add 7 

    5 
     7 

add 3 

    5 

3  7 

add 4 

    5 

3  7 

    4 

Хорошо, я понимаю, что левый ребенок должен быть меньше родителя и меньше или равно правого ребенок от того же родителя. Я следую за ним, пока мы не добавим 4 узла. Как мы определяем, что вставка 4 идет в нижнее правое положение листа 3 вместо положения нижнего левого листа? Кроме того, выполнение AVL-вставки узлов 5, 18, 3, 7, 11 дало несколько неожиданных мест размещения позиций. Вставка четвертого узла, 7, снизилась до 18 вместо 3. Есть ли какая-то особая причина? Предполагая, что это правильный способ, вставка 11 приведет к переключению 11 и 18 точек, но не будет иметь 18 в качестве родительского узла 7 в качестве левого дочернего элемента, а 11, поскольку правый ребенок придерживается принципа левого ребенка, меньшего, чем родительский и меньшего или равным правильному ребенку? Я смущен! Буду признателен за любую помощь. Спасибо!

вставка 7

5 
7 

вставка 11

5 
7 18 

ответ

0

В BST элементы в левом (правом) поддереве любого узла все меньше (больше), чем родительский корень поддерева. Итак, в левом поддереве 5, как 3, так и 4 меньше 5. Теперь взгляните на 3. Причина 4 идет вправо, потому что 4 больше 3, поэтому он идет правильно.

То же самое для вашего вопроса AVL. 7 стал левым ребенком 18 лет вместо правильного ребенка 3, потому что 5 - корень. При вставке вы сравниваете элементы на один уровень за раз. «Является ли 7 больше, чем 5 (корень)? Да, идите направо. 7 больше 18? Нет, идите налево. Нет узла для сравнения, так что 7 идет сюда».

Имея 11, как правильный ребенок, не вписывается в BST. 11 меньше 18, поэтому он должен находиться в левом поддереве, установленном на 18.

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