由中序遍历序列和后续遍历序列恢复二叉树
来源:互联网 发布:网络大学报名流程 编辑:程序博客网 时间:2024/05/18 01:07
在网上找了很多 发现都大多是前序和中序恢复树的 今天就写一个后序和中序恢复树的代码 其实很好理解
BinTree* ReBuildTree(char * post, int i, int j, char * in, int m, int n){ //post[i.....j] in[m....n] int x; //x是遍历器 BinTree* p; //p是新的结点 p = (BinTree*)malloc(sizeof(BinTree)); p->data = *(post + j); //从后序序列中读取结点信息 x = m; for (; (*(in + x) != *(post + j)); x++);//在中序中找到根节点位置 //接下来递归完成左右子树的构建 //中序序列的第一个就是根节点,那么它没有左子树 if (x == m) p->lchild = NULL; else { p->lchild = ReBuildTree(post, i, i+ x-m-1, in, m, x-1); } if (x == n) p->rchild = NULL; //中序序列的最后一个是根节点,那么它没有右子树 else { p->rchild = ReBuildTree(post,i+x-m,j-1,in,x+1,n); } return p;//最后返回这个根节点}
阅读全文
0 0
- 由中序遍历序列和后续遍历序列恢复二叉树
- 由二叉树的前序遍历序列和中序遍历序列求后序遍历序列
- 由中序遍历序列和后序遍历序列构造二叉树(递归实现)
- 由前序遍历序列和中序遍历序列重建二叉树
- 算法--根据二叉树前序和中序遍历序列,求后续遍历序列
- 由中序和后续序列建立二叉树
- 转载-由中序和后续序列建立二叉树
- 由二叉树的遍历序列恢复二叉树
- 已知一颗二叉树S的前序遍历和中序遍历 序列,请编程输出二叉树S的后续遍历序列.
- 已知一颗二叉树S的前序遍历和中序遍历序列,请编程输出二叉树S的后续遍历序列。
- 由前序遍历和中序遍历重建二叉树,再实现后续遍历
- 二叉树--由中序遍历和后续遍历重建二叉树
- 遍历序列恢复二叉树
- 遍历序列恢复二叉树
- 二叉搜索树的后续遍历序列
- 二叉树的后续遍历序列
- 二叉搜索树的后续遍历序列
- 二叉搜索树的后续遍历序列
- 关于有偿提供拼图响应式后台的通知
- 随机抽取数据作验证集validation
- 被cloudera quickstart vm坑了一把
- AtCoder-Beginner-079
- Python小技巧 (List Tuple)
- 由中序遍历序列和后续遍历序列恢复二叉树
- mysql重置密码出现的一系列问题
- 简单的跑酷游戏
- Android学习指南 (方便自己看)
- NOIP2017_AFO记
- 【剑指offer】替换空格
- 9717 取数对弈(scauoj、dp动态规划)
- 构建流式计算卖家日志系统应用实践
- Android 平台的Python——CLE方案实现(三)