Мне пришлось code
реализация B+Tree
для проекта и есть некоторые проблемы.
Есть 2 classes
один Leaf
, который экономит данные, и class
названный Node
(содержит данные а также pointers
до листьев). Classes
содержать больше members
, prev*
, next*
и так далее … также methods
,
Для простоты:
Node
{
values[];
Leaf*[];
};Leaf
{
values[];
};
Проблема в том, nodes
только может спасти pointers
Лифс, но я хочу, чтобы они также могли спасти pointers
в nodes
(для вышеуказанного слоя). Если Листья полны, он должен расстаться.
Вставьте value
в выше node
, Также если node
заполнен, он распадается, и если нет родителя node
создает один. И так далее. Сплиты могут размножаться по полной дерево.
Есть ли простой способ обойти это? Иметь class
с помощью которого можно обрабатывать разные типы array pointers
в нескольких случаях? Должен ли я использовать templetes а также полиморфизм?
Задача ещё не решена.
Других решений пока нет …