数据结构基础之推导遍历结果

来源:互联网 发布:淘宝详情模板下载 编辑:程序博客网 时间:2024/05/29 05:14

推导遍历结果
这类题目经常出来考察对二叉树遍历的掌握程度。比如,已知一课二叉树的前序遍历序列为ABCDEF,中序遍历为CBAEDF,问这课二叉树后序遍历结果是多少?
解题思路:三种遍历都是从根结点开始的,前序遍历是先打印再递归左和右。A)所以前序遍历序列为ABCDEF,第一个字母是A,则A必定是根结点。中序遍历序列是CBAEDF,可以知道C和B是A的左子树的结点,E、D、F是A的右子树的结点。B)然后看前序中的C和B,它的顺序是ABCDEF,先B后C,所以B是A左孩子,C是B的孩子,不过还不能确定是左还是右。再看中序遍历,C在B前面,所以C是B的左孩子。C)接着就是排列右子树了,前序中是DEF,所以D是A的右孩子,EF是D的子孙,注意,它们有一个不一定是孩子,还有可能是孙子。再来看中序序列是EDF,E是D的左孩子,F是D的右孩子。D)到这里就可以画出这棵树了,后序遍历的结果也就水到渠成。

0 0