二叉树:已知前序中序求后序结果的问题

题目描述:

若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。

分析:

首先要明确一个基础的问题,前序遍历的顺序是:根、左、右;中序遍历的顺序是:左、根、右;后序遍历的顺序是:左、右、根。所以这里的前中后都是指的根的位置。

就说上面这棵二叉树的遍历结果吧:

前序:abdgcefh

中序:dgbaecfh

后序:gdbehfca

分析过程如下:

(1)前序顺序为根左右,根据前序知道:a为根节点,然后观察a在中序遍历中的结果得到:dgb为a的左子树的中序遍历结果,echf为a的右子数的中序遍历结果。

(2)紧接着上面的分析,回到前序遍历来观察dgb(左子数的中序)对应的前序为:bdg,所以左子数的根节点为b,同样的道理,回到中序结果dgb,知道dg为左子树,b没有右子树。依照这种规律分析下去,可以完整的分析出这棵树的结构,然后就可以得到后序结果了。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭