二叉树结构的逆推构建是二叉树中的一类经典题目,方法是跟据前序遍历,中序遍历,后序遍历的概念,逐步推断出树的结构。
解题步骤:
1.跟据前序遍历,后序遍历的结果,找出根节点。
2.跟据中序遍历的结果,由中序遍历左-根-右的遍历方式,确定左右子树。
3.不断递归,重复1,2的步骤,直至构建完成(即所有的数据都在结点上)。
举例分析:
11.已知某二叉树的前序遍历序列为5 7 4 9 6 2 1,中序遍历序列为4 7 5 6 9 1 2,则其后序遍历序列为( )
A.4 2 5 7 6 9 1
B.4 2 7 5 6 9 1
C.4 7 6 1 2 9 5
D.4 7 2 9 5 6 1
由上面的解题步骤可知,由前序遍历,得出根结点为5
由步骤2,跟据中序遍历,得出左子树为4,7,右子树6,9,1,2
对于左右子树,重复1,2步骤 ,由前序遍历,左子树根为7,由中序遍历,7的左子树只有一个结点4,无右子树,所以左子树完成
接着遍历右子树,由前序遍历可知,9为右子树的根节点
接着由中序遍历可知,9的左子树为6,右子树为1,2
最后右边的根结点为2,由中序遍历可知1在2左边,2的右边没有元素
最后,跟据后序遍历左-右-根的遍历顺序,得出答案4-7-6-1-2-9-5,选C。
后序遍历配合中序遍历的解题方法同理,练习几次即可熟练掌握。