二叉树已知中序后序输出前序
来源:互联网 发布:网络推广公司有哪些 编辑:程序博客网 时间:2024/05/29 17:05
后序:2 5 4 6 3 1(左右根)
中序:2 1 5 4 3 6(左根右)
分析:
因为二叉树的根总是在后续序列的最后一位,所以可以很容易得到root。在中序序列中找到root,root左边是左子树,右边是右子树。每次在后续序列中找到root,左子树的root即为root-(end-i+1),end-i+1是在中序序列中计算右子树的元素个数。右子树的root-1。在中序序列中找到root的位置i,左子树的start还是start,与其父亲的start相同,左子树的end是i-1;右子树的start是i+1,end与其父亲的end相同。
#include<iostream>using namespace std;int post[]={2,5,4,6,3,1};int in[]={2,1,5,4,3,6};void pre(int root,int start,int end){int i=start;if(start>end)return;while(in[i]!=post[root])i++;cout<<post[root];pre(root-end+i-1,start,i-1);pre(root-1,i+1,end);}int main(){pre(5,0,5);system("pause");return 0;}
0 0
- 二叉树已知中序后序输出前序
- 二叉树遍历:已知前序中序输出后序/已知后序中序输出前序
- 二叉树--已知前序遍历和中序遍历,输出后续遍历
- noip2003 加分二叉树 (树形dp+分治法,已知中序,输出前序)
- 已知二叉树的前序和中序序列,不建立二叉树来输出后序序列
- 重建二叉树 的 非递归算法(已知前序和中序)输出 层续和后续
- 已知二叉树的前序和中序,求后序
- 已知前序和中序遍历恢复二叉树
- 二叉树遍历:已知前序和中序,求后序
- 二叉树:已知前序和中序,求后序
- 二叉树 :已知前序和中序,求后序
- 已知中序,前序,重组二叉树
- 二叉树已知前序,中序,求后序
- 6.3.3 二叉树重建 已知前序和中序求后序
- 已知二叉树前、中序遍历,求…
- 二叉树 已知前序,中序求后序 TOJ 3988
- 二叉树已知前序和后序求中序的相关补充
- 已知二叉树的先序(前序)遍历及中序遍历,还原该二叉树并输出其后续遍历
- Spring3 MVC 注解(二)---@RequestMapping
- ejabberd16.09创建用户的403-auth(Denied by ACL)错误解决方法
- 药代动力学模型参数
- 经典SQL语句
- 从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
- 二叉树已知中序后序输出前序
- shell 输入 输出重定向
- 关于PCR_Oj和丢包
- 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[1] - 仿射变换(cvWarpAffine)
- 请求url被切分的问题
- SQL While 循环插入数据
- 前端学习交流
- 融云(RongYun)遇到的一些奇葩问题。。。。
- dom4j解析xml文件的步骤(简单版)