Как сделать вставку B-Tree - PullRequest
1 голос
/ 21 марта 2011

Я пытаюсь вставить 3 значения в это B-дерево, 60, 61 и 62. Я понимаю, как вставить значения, когда узел заполнен и у него пустой родительский элемент, но что, если родительский элемент заполнен?

Например, когда я вставлю 60 и 61, этот узел будет заполнен. Я не могу расширить родительский или родительский родитель (потому что они заполнены). Так я могу изменить значения родительского? Я предоставил изображение B-дерева до и после вставки.

Before insert of 60, 61, 62 Попытка вставить 60, 61, 62: After Обратите внимание, что я изменил 66 в корне на 62 и добавил 62 к узлу <72. Это правильный способ сделать это? </p>

1 Ответ

3 голосов
/ 22 марта 2011

После вставки вы получаете то, что обычно называется деревом B *.В «чистом» B-дереве для вставки, когда корень заполнен, потребуется разделить текущий корень на два узла и создать новый корневой узел над ними (реализации B-дерева не требуют, чтобы корневой узел следовал тому же правилукак и другие узлы для минимального числа потомков, поэтому разрешено иметь только два).

...