类型
- 已知先序与中序遍历,求后序遍历
- 已知中序与后序遍历,求先序遍历
- 但是已知先序与后序遍历,不可求得中序
- 也就是必须知道中序!
思路类似,都是先求原始二叉树,再求第三者
1.已知先中,求后序
栗子1:
先序:ABCDEFGH
中序:BDCEAFHG
解题
1.因为先序是先访问根节点,所以A为根节点;
2.因为中序是在树的两边中间访问根节点,并且按大致从左往右的顺序,
所以,BDCE分布在根节点A的左子树,FHG分布在根节点A的右子树;
3.BDCE在先序中是先访问B的,所以B是A的左子树部分的根节点;
因为中序访问时根节点B大致在中间,所以DCE就属于B的右子树部分;
4.同理,C是DCE部分的根节点;D是C的左子树部分,E是C的右子树部分;
5.同样的,也可以判断出A的右子树部分FHG的情况。
答案
栗子2:
先序:ABDGHCEFI
中序:GDHBAECIF
答案
2.已知中后,求先序
提示:
后序遍历是最后访问根节点的
后序遍历是最后访问根节点的
栗子
中序:BDCEAFHG
后序:DECBHGFA
答案