推树过程

由前中序列求后序列

座号 1 2 3 4 5 6
1 2 3 4 5 6
3 2 4 1 6 5

从前序可以看出根节点为 1 1 1
根节点在中序的位置为 4 4 4号,可以看出它的左右节点分别有 3 3 3 2 2 2个;
从前序列可以看出左 3 3 3节点为 ( 2 , 3 , 4 ) (2,3,4) 234,右2节点为 ( 5 , 6 ) (5,6) 56,根节点的子节点为左: 2 2 2,右: 5 5 5;看下图:

1
2
5

以此我们把 2 2 作为节点则上表可变为

座号 1 2 3
2 3 4
3 2 4

从前序可以看出根节点为 2 2 2
根节点在中序的位置为 2 2 2号,可以看出它的左右节点分别有 1 1 1 1 1 1个;
从前序列可以看出左 1 1 1节点为 ( 3 ) (3) 3,右1节点为 ( 4 ) (4) 4,根节点的子节点为左: 3 3 3,右: 4 4 4
施行完之后就变如下:

1
2
5
3
4

以此我们把 3 3 3作为节点,但是由于 2 2 2的左节点 3 3 3左右无节点,所以需找 2 2 2的右节点 4 4 4但是也没有(⊙﹏⊙),这时我们可以看做为 1 1 1的左节点 2 2 2已经找完了所有节点,可以继续向右需找 1 1 1的右点 5 5 5,看下表:

座号 1 2
5 6
6 5

由此我们可以得到下图,也即是完整的树:

1
2
5
3
4
6

从此树我们很容易推出后续(3,4,6,2,5,1);

座号 1 2 3 4 5 6
1 2 3 4 5 6
3 2 4 1 6 5
3 4 6 2 5 1

也可以有后,中来推前序,自己推推呗(☄⊙ω⊙)☄;

可以经行试炼一下

相关操作看下面的链接
简单操作
Binary Tree Traversals HDU - 1710
扩展操作(以下两题需要进行字符处理)
Elven Postman HDU - 5444
Trees on the level HDU - 1622

你可能感兴趣的:(二叉树的遍历)