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.