由双遍历序列构造二叉树
//由先序序列和中序序列构造二叉树BTNode *CreateBT1(char *pre,char *in,int n){//pre存放先序序列,in存放中序序列,n为二叉树的结点个数//算法执行后返回构造二叉链的根结点/********** Begin **********/BTNode *b; char *p; int k; if(n<=0)return NULL; b=(BTNode *)malloc(sizeof(BTNode)); //创建根结点 b->data=*pre; for(p=in;p<in+n;p++) //在中序中找等于*pre字符的位置k { if(*p==*pre) //pre指向根结点 { break; } } k=p-in; //确定根结点在in中的位置 b->lchild=CreateBT1(pre+1,in,k); //递归构造左子树 b->rchild=CreateBT1(pre+k+1,p+1,n-k-1); //递归构造右子树 return b; /********** End **********/}//由中序序列和后序序列构造二叉树BTNode *CreateBT2(char *post,char *in,int n){//post存放后序序列,in存放中序序列,n为二叉树的结点个数//算法执行后返回构造二叉链的根结点/********** Begin **********/BTNode *b; char r,*p; int k; if(n<=0)return NULL; r=*(post+n-1); //根结点值 b=(BTNode*)malloc(sizeof(BTNode)); //创建根结点 b->data=r; for(p=in;p<in+n;p++) //在in中查找根结点 { if(*p==r)break; } k=p-in; //k为根结点在in中的下标 b->lchild=CreateBT2(post, in, k); //递归构造左子树 b->rchild=CreateBT2(post+k, p+1, n-k-1); //递归构造右子树 return b; /********** End **********/}
由双遍历序列构造二叉树相关推荐
- educoder数据结构 树 第1关:由双遍历序列构造二叉树
目录 任务描述 编程要求 代码实现 任务描述 本关任务:实现 ConstructTree.cpp 里的TNode* InPreToTree(char *pa, char *ia, int p1, in ...
- 【LeetCode系列】从中序与后序遍历序列构造二叉树 从前序与中序遍历序列构造二叉树...
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 105. 从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树 ...
- 数组反向遍历ios_LeetCode106.从中序与后序遍历序列构造二叉树(Construct Binary Tree from Inor...)...
106. 从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7]后序遍 ...
- 树与二叉树 | 实验3:由遍历序列构造二叉树
实验3:由遍历序列构造二叉树 二叉树构造定理: 定理7.1:任何n(n>0)个不同结点的二又树,都可由它的中序序列和先序序列唯一地确定. 定理7.2:任何n(n>0)个不同结点的二又树,都 ...
- leetcode 106. 从中序与后序遍历序列构造二叉树 c语言递归解法
如题: 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素.例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9, ...
- 105从前序与中序遍历序列构造二叉树 106 从中序与后序遍历序列构造二叉树 (递归 + 哈希)
引言 这两道题主要是考察二叉树遍历的掌握,即由前序和中序推出原二叉树,由后序和中序推出原二叉树,这里先来说一下推导过程: 前序和中序 知道前序遍历和中序遍历,如何推原二叉树?(直接是结论,可以自行推导 ...
- [Leetcode][第106题][JAVA][ 从中序与后序遍历序列构造二叉树][分治][递归]
[问题描述][中等] [解答思路] public class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) { ...
- [Leedcode][JAVA][第105题][从前序与中序遍历序列构造二叉树][栈][递归][二叉树]
[问题描述][中等] 根据一棵树的前序遍历与中序遍历构造二叉树.注意: 你可以假设树中没有重复的元素.例如,给出前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = ...
- [leetcode]从中序与后序/前序遍历序列构造二叉树
从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 po ...
最新文章
- Velocity(2)——引用
- python爬虫吧-Python爬虫案例集合
- 数据库VIEW(视图)
- hdu3367 Pseudoforest
- Spring Boot 配置随机数那些小技巧
- php什么集成框架比较好,php哪个框架比较好?
- 视觉中国、IC photo被责令暂停服务全面整改
- 你写过哪些原创的风骨傲气,热血沸腾的句子?
- Windows不需要输密码,直接登录显示桌面
- CentOS 7安装Teamviewer 12
- ASP.NET数据分页技术(4)
- --save-dev和--save的区别
- 数据结构与算法分析(一)
- 全网最全的 Java 技术栈内容梳理(持续更新中)
- oracle 索引的整理
- win10计算机管理中没有本地用户和组怎么办
- 四川江安戏剧“青年训练营”:播撒颗颗戏剧种子
- 快递管理系统项目整理
- 04-0002 PCA算法
- java修炼三层境界
热门文章
- php trader correl,PHP - Manual: Trader (官方文档)
- CentOS 7系统安装配置图解教程
- 【永久更新地址】一份不太简短的Latex2e介绍:The Not So Short Introduction To LATEX (Chinese Edition)
- win10系统崩溃怎么修复_win10系统崩溃蓝屏怎么办
- 【沃顿商学院学习笔记】商业分析——Customer Analytics:02 预测分析一:回归分析 Regression Analysis
- 图解国家网信办《生成式人工智能服务管理办法(征)》| 附下载
- 把16G iPhone 6 Plus 纯手工升级到 128G
- 【soft6星评论】数字化智能化进入深水区 业务驱动企业体系中台化变革
- 使用Python基于OpenCV+MediaPipe追踪手势并控制音量
- Oracle Explan