Вставка дерева B + - Теоретический вопрос - PullRequest
0 голосов
/ 06 декабря 2010

Я пытался узнать, как работает B + Tree, и пытался решить примеры.

В одном таком документе перечислены здесь , в Примере 1, приведенном на стр. 8. Он описывает построение дерева B +, где 'n' количество значений ключа поиска на узел - задается как 4.

Все идет по правилам до третьего шага, но внезапно на четвертом шаге вы видите, что корневой узел разделяется, и появляются другие разделения. Я понял, почему узел 17,19,21 разделен (это, по-видимому, не показано в тексте). Но я удивлен, почему рут разделен. Может кто-нибудь объяснить мне это или предложить лучший пример, который является довольно сложным, но с более своеобразным и пошаговым подходом.

1 Ответ

1 голос
/ 06 декабря 2010

Вот как работают B-деревья: листовые узлы заполняются и при переполнении они разделяются, отправляя 1 значение ключа вверх. Узел выше может также разделиться, вплоть до корня.

Пример немного слаб, обычно все узлы, кроме корневого, заполнены как минимум наполовину. Но половина 3 равна 1, так что это не слишком очевидно.

...