二叉树重建
来源:互联网 发布:中山大学网络客户端mac 编辑:程序博客网 时间:2024/04/30 20:48
对于二叉树T,可以递归定义它的先序遍历、中序遍历和后序遍历如下:
PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树)
InOrder(T)=InOrder(T的左子树)+T的根节点+InOrder(T的右子树)
PostOrder(T)=PostOrder(T的左子树)+PostOrder(T的右子树)+T的根节点
其中,加号表示字符串连接运算。
[问题]
输入一棵二叉树的先序遍历和中序遍历序列,输出它的后序遍历序列。
样例输入:
DBACEGF ABCDEFG
BCAD CBAD
样例输出:
ACBFGED
CDAB
[分析]
先序遍历的第一个字符就是根,因此只需在中序遍历中找到它,就知道左右子树的先序和中序遍历了。例如:
先序:DBACEGF 中序:ABCDEFG
由先序遍历的第一个字符D可知,此二叉树的根节点为D,并且:
左子树的先序遍历为:BAC 中序遍历为:ABC
右子树的先序遍历为:EGF 中序遍历为:EFG
这样,可以编写一个递归程序:
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- I lay my love on you
- 引用与指针区别
- Orthogonal Arrays(正交法测试)&Pairwise Testing (成对法测试)
- "基于ARMA预测模型的电路故障研究"小结
- 上传东西之前一定要考虑清楚
- 二叉树重建
- 临界区效率
- Invalidate
- VS 2010无法创建项目提示写入项目文件时出错 没有注册类别
- WebSphere 简介 (1)
- 如何禁止IE缓存,采用Ajax技术数据更新不及时
- POJ1036Gangsters题解动态规划DP
- [WPF] 神奇的DockPanel
- About山寨机