Я пытаюсь выяснить, как совершить обход предписаний Btree. Я знаю, что в общем обход работает так:Обход предварительного кодера Btree
preorder(node)
{
print value in node
preorder(left child)
preorder(right child)
}
Что сбивает с толком меня, как сделать эту работу с ВТКЕЕМ, так как в каждом узле имеется несколько значений и несколько указателей ребенка. При печати значений все значения в узле печатаются перед тем, как спуститься в левый ребенок?
Каждого узел выглядит следующим образом:
child1 value1 child2 значение2 child3 value3 child4
Кроме того, почему кто-то хотят сделать обход в виде ВТКЕЯ, так как симметричный обход является то, что будет отображать значение в порядке возрастания?
«... почему кто-то хочет совершить обход предварительного заказа Btree ...». Я не знаю. Ты спрашиваешь, как это сделать; Я предполагаю, что у вас есть мотивация для этого. Может быть, это домашнее задание? –
В btree есть ровно два дочерних указателя, один для левого ребенка и один справа. Значения печатаются в том порядке, в котором ваши коды печатают их. Btrees может использоваться для вещей * other *, чем для хранения отсортированных данных. – WhirlWind
Btrees не являются бинарными деревьями; каждый узел может иметь более двух указателей. Количество указателей в каждом узле больше, чем количество ключей в каждом узле. – neuromancer