• Усі n+1 покажчиків у проміжній вершині можна вико-
ристовувати для посилання на блоки наступного рівня
В-дерева, хоча реально повинні використовуватися
щонайменше ⎡(n+1)/2⎤ з них (нагадаємо, що, незалежно
від величини n, коренева вершина може містити не
менше, ніж 2 покажчики, які використовуються за
призначенням). Якщо діючими є j покажчиків, то їм
відповідають j-1 ключів (наприклад, К
1
, К
2
, ..., К
j-1
).
Перший покажчик адресує ту частину В-дерева, яка дає
змогу відшукати записи з ключовими значеннями,
меншими К
1
. Другий покажчик посилається на фрагмент
дерева, відповідальний за виявлення записів зі
значеннями ключа, які більші або дорівнюють К
1
і
строго менші від К
2
, і т.д. Зрештою, j-й покажчик
приводить до гілки дерева, яка відповідає записам з
ключовими значеннями, рівними або більшими К
j-1
.
Зауважимо, що записи з ключами, набагато меншими
від К
1
і значно більшими від К
j-1
, з біжучого блока,
можливо, і недосяжні – у такому випадку їм відповіда-
тимуть певні сусідні блоки, які належать до того ж рівня
дерева.
Приклад 56. У цьому і наступних прикладах, що стосуються В-
дерев, ми вважатимемо, що n = 3, тобто кожен блок може містити
три ключових значення, які є невеликими (це припущення цілком
правдоподібне) цілими числами, і чотири покажчики. На рис. 58
проілюстровано вершину-лист, усі покажчики якої використано за
призначенням. Блок вершини містить три ключі – 57, 81 і 95. Перші
три покажчики адресують записи даних з зазначеними ключами, а
останній (як і в будь-якому листі В-дерева) посилається на сусідній
лист справа від біжучого. Якщо біжуча вершина-лист є останньою,
то покажчику присвоюється значення null.
Ми вже говорили, що допустимо не заповнювати блок-лист до
кінця, але в нашому випадку (за умови n = 3) блок повинен
містити, як мінімум, дві пари виду «ключ-покажчик» (у схемі на
рис. 58 ключ 95 і відповідний йому покажчик, зазначений як «До
запису з ключем 95» можуть бути відсутніми).
156