In-order 当最左节点有权利时树遍历 child
In-order tree traversal when leftmost node has right child
我有一棵这样的树:
如果我在这棵树上进行 in-order 树遍历,输出将是:
d, h, b...
或
d, b, h...
换句话说in-order树遍历从左->根->右,当最左边的节点有一个右child时会发生什么?
我的猜测是 in-order 对子树进行操作,如果我们将 d 作为最左边子树的根,那么输出应该是
d, h, b...
我的想法是否正确?
是的,你是对的,d,h,b,... 是正确的顺序。很容易看出,因为 d 和 h 都在 b 的左子树中,因此必须在 b 之前。
下面是示例树的中序遍历中子树的访问顺序,为了更清楚,增加了几个节点(先是一个节点的左子树,然后是节点本身,然后是右子树,按此顺序,对于任何节点):
可以看到,访问顺序是d,h,b
.
我有一棵这样的树:
如果我在这棵树上进行 in-order 树遍历,输出将是:
d, h, b...
或
d, b, h...
换句话说in-order树遍历从左->根->右,当最左边的节点有一个右child时会发生什么?
我的猜测是 in-order 对子树进行操作,如果我们将 d 作为最左边子树的根,那么输出应该是
d, h, b...
我的想法是否正确?
是的,你是对的,d,h,b,... 是正确的顺序。很容易看出,因为 d 和 h 都在 b 的左子树中,因此必须在 b 之前。
下面是示例树的中序遍历中子树的访问顺序,为了更清楚,增加了几个节点(先是一个节点的左子树,然后是节点本身,然后是右子树,按此顺序,对于任何节点):
可以看到,访问顺序是d,h,b
.