假设一颗二叉树的先序序列为DBACEGF,中序序列为ABCDEFG,后序序列为ACBFGED,请画出该二叉树。

解题步骤:
1.前序中的第一个字母或后序中的最后一个字母为该二叉树的根结点,本题中为D
2.在中序序列中找到该字母,根节点即该字母的左侧对应二叉树的左子树,右侧对应右子树,本题中对应的左子树为CBA,右子树为EFG
3.在前序和后序里,每个子树中,根后的第一个元素作为新的根,本题中为B和E
4.重复2,本题中B的左子树为A,右子树为C;E的左子树为空,右子树为FG
5.重复3,本题中新的根为G
6.接着重复,直到画出所以结点,本题中G的左子树为F,本题结束。
ps:## 标题反推前序和后序序列也是这个思路,一点点往回捋就可以
1089

被折叠的 条评论
为什么被折叠?



