2017-02-17 12 views

ответ

2

Зеленый. Вам нужно рассмотреть шаги алгоритма. Посмотрите на the wikipedia page для шагов ввода. Ключевой частью является разделение 4-узла (который имеет 3 значения), перемещая среднее значение до уровня, прежде чем рассматривать следующую вставку.

1. Insert 3 into blank. Result: 3   (a 2-node) 
2. Insert 7.   Result: 3 - 7  (a 3-node) 
3. Insert 4.   Result: 3 - 4 - 7 (a 4-node) 
5. Insert 9. There is already a 4-node, so this must be split. 
    The split will be to move 4 up a level, and 3 and 7 are now child nodes of 4 
    (like your green diagram). 9 is then added next to the 7. 
+0

Но в случае 2-3 деревьев мы разделим после вставки значения. Итак, середина становится корневым значением. Итак, в случае 4-узла это будет другим? – user963241

+0

С 2-3 дерева у вас есть 2 значения при работе с 3-узлом, поэтому нет среднего значения. Это не ваза с 2-3-4 деревьями. Я на самом деле видел несколько алгоритмов, которые вставляют значение, а затем разделяют на 2-3-4 дерева, поэтому он выглядит как ** оба действительны. ** – gms0ulman

+0

Фактически [другой метод] (https: //www.cs.umd. edu/class/summer2016/cmsc132/lectures/Lecture17_2_3_4_tree.pdf) также использовались split ** перед ** insert. – gms0ulman

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

  • Нет связанных вопросов^_^