Я пытаюсь создать B-дерево со следующими свойствами:Какова структура узла для этой спецификации B-Tree?
Каждый узел х содержит следующие атрибуты:
- хп количество ключей, присутствующих в узле х
- x.key1, x.key2, ..... x.keyx.n - это ключи, присутствующие в узле
- x.c1, x.c2, ......... x.cx.n, x.cx .n + 1 являются указателями на дочерние узлы
- x.leaf - это логическая переменная, которая показывает, является ли узел листовым узлом или нет.
На основе этой спецификации, как бы я реализовать структуру узла:
struct Node{
...?
}
Предположим, что b-tree имеет порядок t = 2. Он может содержать максимум 2t-1 (здесь это 2 * 2 -1 = 3) ключи в определенном узле. Но мы предполагаем, что максимальная длина массива будет Key [BTREE_ORDER], которая здесь равна 2. , Есть ли другой способ сделать то же самое или мы можем просто предположить, что длина массива будет максимальной, т.е. 2t-1 –
Извините, я получил свой заказ не так - используйте BTREE_ORDER-1 и BTREE_ORDER – mksteve