二叉树+++++++++++
首先要明确一个基础的问题,前序遍历的顺序是:根、左、右;中序遍历的顺序是:左、根、右;后序遍历的顺序是:左、右、根。所以这里的前中后都是指的根的位置。
我随手画了个比较乱的图:然后写出前中序,解出了后序图. 相信很做出这题,就证明对二叉树有了一定的了解.
若某二叉树的前遍历访问顺序是序abefghcsow,中序遍历顺序是eghfbacswo,则后序遍历的访问顺序是什么。
1,首先由前序遍历中知道a为根节点, 然后观察a在中序遍历中的结果得到:eghfb为a的左子树的中序遍历结果,cswo为a的右子树的中序遍历结果.
2,接着分析eghfb(左子树的中序) 对应的前序:befgh,所以左子树的根节点为b, 按1的方法回到中序遍历的结果eghfb,知道eghf为左子树,b没有右子树 .
3,eghf(中序)对应的前序:efgh 知道e为根节点, 由中序eghf知道e没有左子树,只有右子树ghf.
4,按这分析下去,即可得出:后序遍历:hgfebwosca
首先要明确一个基础的问题,前序遍历的顺序是:根、左、右;中序遍历的顺序是:左、根、右;后序遍历的顺序是:左、右、根。所以这里的前中后都是指的根的位置。
我随手画了个比较乱的图:然后写出前中序,解出了后序图. 相信很做出这题,就证明对二叉树有了一定的了解.
若某二叉树的前遍历访问顺序是序abefghcsow,中序遍历顺序是eghfbacswo,则后序遍历的访问顺序是什么。
1,首先由前序遍历中知道a为根节点, 然后观察a在中序遍历中的结果得到:eghfb为a的左子树的中序遍历结果,cswo为a的右子树的中序遍历结果.
2,接着分析eghfb(左子树的中序) 对应的前序:befgh,所以左子树的根节点为b, 按1的方法回到中序遍历的结果eghfb,知道eghf为左子树,b没有右子树 .
3,eghf(中序)对应的前序:efgh 知道e为根节点, 由中序eghf知道e没有左子树,只有右子树ghf.
4,按这分析下去,即可得出:后序遍历:hgfebwosca