Есть ли правило, как разделить узел в дереве 2-3-4?
Например. Если я вставлю 3, 7, 4, 9 в дерево 2-3-4:
Будет ли он разделен так (желтый) или так (зеленый), как показано здесь:
Оба действительны?
Есть ли правило, как разделить узел в дереве 2-3-4?
Например. Если я вставлю 3, 7, 4, 9 в дерево 2-3-4:
Будет ли он разделен так (желтый) или так (зеленый), как показано здесь:
Оба действительны?
Зеленый. Вам необходимо рассмотреть шаги алгоритма. Посетите страницу Википедии. для шагов вставки. Ключевая часть состоит в том, чтобы разделить 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.