我正在试图弄清楚如何对Btree进行前序遍历。我知道通常预订遍历的工作原理如下:
preorder(node)
{
print value in node
preorder(left child)
preorder(right child)
}
让我感到困惑的是如何使用Btree来完成这项工作,因为在每个节点中都有多个值和多个子指针。打印值时,是否在下降到左子项之前打印节点中的所有值?
每个节点如下所示:
child1 value1 child2 value2 child3 value3 child4
另外,为什么有人想要对Btree进行前序遍历,因为inorder遍历会以升序显示值?
答案 0 :(得分:2)
以某个定义的顺序打印当前节点中的所有值(这取决于您,实际上,从左到右是合理的默认值)然后访问每个子节点(同样,顺序取决于您)