考虑这棵树:
7
/ \
/ \
/ \
1 9
/ \ / \
0 3 8 10
/ \
2 5
/ \
4 6
为了:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
预购:
7, 1, 0, 3, 2, 5, 4, 6, 9, 8, 10
在进行中序遍历时,首先找到最左边的节点并从那里开始遍历。但是当涉及到 Preorder 时,相同的逻辑(如最左边的中间节点)不适用
在上面的树中,除了根 7 之外,还有 1 和 9 都是中间节点。1 是最左边的中间节点, 9 是最右边的中间节点。按照上面InOrder申请的逻辑,Preorder遍历应该从最左边的中间节点1开始,但不是这样,为什么?
为什么在 Inorder 中遍历从最左边的节点开始,但 PreOrder 遍历不是从最左边的中间节点开始?
谢谢,克里斯。