Я пытаюсь выяснить, как сделать предварительный обход Btree. Я знаю, что обычно обход по предварительному заказу работает так:
preorder(node)
{
print value in node
preorder(left child)
preorder(right child)
}
Что меня смущает, так это то, как заставить это работать с Btree, поскольку в каждом узле есть несколько значений и несколько дочерних указателей. При печати значений все значения в узле печатаются до того, как они опустятся в левый потомок?
Каждый узел выглядит так:
child1 value1 child2 value2 child3 value3 child4
Кроме того, зачем кому-либо хотеть сделать предварительный обход Btree, так как обход по порядку - это то, что будет отображать значения в порядке возрастания?