В качестве примера приведена следующая модель b-дерева, в которой каждый узел содержит пары тег / значение.Дерево указывает приоритет (или приоритет), с корнем, являющимся самым высоким, вплоть до листьев как самый низкий (но это зависит от приложения).Я хочу объединить новый раздел дерева с родительским, с новым разделом, содержащим потенциально общие пары тег / значение, вплоть до узла чуть выше конечного узла (полностью дублированный новый раздел дерева просто не будет объединен).Например,
Указаны существующие пары деревьев (тегов, значений):
A,0
,----------,-------------,
B,1 B,2 B,3
,-------------,
C,1 C,2
Новое объединяемое дерево:
A,0
|
B,3
,-----------,
C,1 C,2
Окончательное объединенное дерево:
A,0
,----------,-----------------,
B,1 B,2 B,3
,-------------, ,-----------,
C,1 C,2 C,1 C,2
Вопрос: существует ли элегантное C ++ решение для этого слияния b-дерева с использованием контейнеров std или возможно с такой библиотекой, как boost?Спасибо.