Многоходовые деревья
Для сокращения количества обращений к внешней памяти используется некоторое обобщение бинарных деревьев – так называемые многоходовые деревья поиска. Особенности данного типа дерева заключаются в следующем:
1. каждая вершина дерева содержит N ключей и, соответственно, N + 1 указатель на подчиненные вершины (Рис. 7.4);
2. ключи в вершине упорядочены по возрастанию: K1 < K2 < … < KN;
3. ключи в поддеревьях упорядочены по такому же принципу, как и в бинарном дереве.
Рис. 7.4. Структура вершины многоходового дерева
Если обозначить указатели на подчиненные вершины через P, тогда вершина имеет вид:
P0 K1 P1 K2 P2 … PN-1 KN PN,
и для ключа Ki текущей вершины должно выполняться условие:
{ K(Pi-1)} < Ki < {K(Pi)},
где {K(P)} определяет множество ключей в поддереве, заданном указателем P.
Пример многоходового дерева приведен на рис. 7.5.
Рис. 7.5. Пример многоходового дерева поиска