最近笔试题目,常常考到已经前序遍历,中序遍历,要求你确定树的后续遍历。
前序遍历的遍历方式是:根左右
中序遍历的遍历方式是:左根右
后续遍历的遍历方式是:左右根
所以,所谓的遍历就是根遍历的位置,左右节点的位置则是固定的,先左后右。
好吧,拿题来。
若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是:
分析过程:根据前序和中序是可以唯一确定一棵树的。不论先根后根,左子树的结点总是出现在右子树结点的前面。
前序遍历里,第一个是根,所以这棵树的根节点是B,后面紧跟的是E,再结合中序遍历,F在E前面,所以可以确定,这棵树的左子树是E,F,结合两点的位置,可以确定,E为根,F为其左子树。
CGDH为以B为根的二叉树的右子树。然后重复上述的推理过程。首先确定,C为右子树的根。以C为根节点的右子树,其左节点是G,右子树是DH。
根据上述分析,可以得出树为:
根据以上分析,可以得出,后序遍历:FEGHDCB
菜鸟学习ing,欢迎拍砖。。。