题目描述:
若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。
分析:
首先要明确一个基础的问题,前序遍历的顺序是:根、左、右;中序遍历的顺序是:左、根、右;后序遍历的顺序是:左、右、根。所以这里的前中后都是指的根的位置。
就说上面这棵二叉树的遍历结果吧:
前序:abdgcefh
中序:dgbaecfh
后序:gdbehfca
分析过程如下:
(1)前序顺序为根左右,根据前序知道:a为根节点,然后观察a在中序遍历中的结果得到:dgb为a的左子树的中序遍历结果,echf为a的右子数的中序遍历结果。
(2)紧接着上面的分析,回到前序遍历来观察dgb(左子数的中序)对应的前序为:bdg,所以左子数的根节点为b,同样的道理,回到中序结果dgb,知道dg为左子树,b没有右子树。依照这种规律分析下去,可以完整的分析出这棵树的结构,然后就可以得到后序结果了。