由一个二叉树的中序序列和后序序列如何推出它的前序序列?

已知中序序列是EDCBAHFG,后序序列是DBCEFGHA,求前序序列

由中序序列和后序序列可以知道二叉树的根节点是A,B,C,D,E是左子树,H,F,G是右子树。所以前序序列为:AECDBHFG追问

答案是AECDBHGF,求解?

追答

二叉树遍历分为三类:前序遍历,中序遍历和后序遍历。
前序遍历:先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左,右子树时,仍需先访问根节点,然后遍历左子树,最后遍历右子树。
中序遍历:先遍历左子树,然后访问根节点,最后遍历右子树;并且在遍历左,右子树时,仍先历左子树,然后访问根节点,最后遍历右子树。
后序遍历:先遍历左子树,然后遍历右子树,最后访问根节点;并且在遍历左,右子树时,仍先历左子树,然后遍历右子树,最后访问根节点。
由中序和后序可以知道B,C,D,E是左子树,H,F,G是右子树,A是根节点。因为后序遍历最后访问的是根节点。在左子树中C是D和B的子节点,E是C的子节点,在右子树中H是G和F的子节点,
A是根节点。最后可以推出前序序列是:AECDBHGF

温馨提示:答案为网友推荐,仅供参考