二叉树中已知前序和中序求其后序(图解加技巧让你轻松掌握)
一
首先咱得了解二叉树的结构,和前序/中序/后序遍历分别是什么。
1:什么是根和左右孩子:二叉树的每个节点都可以作为根,每个根下面的叫左右孩子,也可以没有孩子
实际使用中会如下图A是根左孩子是B,右孩子是C;C是根没有左右孩子,B是根左孩子是D,右孩子是E
2 前序/中序和后序遍历分别是什么:
前序遍历:先访问根再访问左孩子然后访问右孩子,简称根左右的访问顺序叫前序遍历
中序遍历:先访问左孩子再访问根然后访问右孩子,简称左根右的访问顺序叫中序遍历
后序遍历:先访问左孩子再访问右孩子然后访问根,简称左右根的访问顺序叫后序遍历
如下图前序遍历为:A, B, D, E, C
如下图中序遍历为:D, B, E, A, C
如下图后序遍历为:D, E, B, C, A
二 理解前中序的意义
如下图
从前序遍历可知根节点为 A,我们在中序遍历中找到A。在 A左半边的值在图中也恰好在左半 边,右半边的值也恰好在图中右边 。所以按这个规律画图即可
1 已经知道在二叉树中:
前序序列: E,H,B,C,F,A,D,G
中序序列: B,H,F,C,A,E,D, G
求后序遍历:
2 根据上述结论开始解题
第一步:从前序遍历中找到第一个根节点(E)
第二步: 从前序遍历中找到第二个根节点(H)
第三步: 从前序遍历中找到第三个根节点(B),但由图可知B已经结束所以直接跳过
第四步: 从前序遍历中找到第四个根节点(C)
第五 步:由图可知F,A已经结束,所以直接跳过
第六步: 从前序遍历中找到第七个根节点(D)
如图咱就结束了
后续遍历如图应为:B, F, A, C, H, G, D, E
如有不对的地方欢迎评论区指点,画图不宜望点赞
二叉树中已知前序和中序求其后序(图解加技巧让你轻松掌握)相关推荐
- [算法] 已知前序和中序遍历,建立二叉树
结点结构 typedef struct Node{char data;struct Node *left;struct Node *right; }Node; 已知前序和中序遍历顺序,建立二叉树 问题 ...
- matlab二维图形中确定一点的坐标系,在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?...
在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一 ...
- 已知前序(后序)遍历序列和中序遍历序列构建二叉树(Leetcode相关题目)
1.文字描述: 已知一颗二叉树的前序(后序)遍历序列和中序遍历序列,如何构建这棵二叉树? 以前序为例子: 前序遍历序列:ABCDEF 中序遍历序列:CBDAEF 前序遍历先访问根节点,因此前序遍历序列 ...
- 二叉树知道前序和中序求后序,知道中序后序求中序
今天来总结下二叉树前序.中序.后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明. 首先,我们看 ...
- 二叉树已知前序遍历、中序遍历画出二叉树的形状
前序遍历: 前序遍历(VLR)是二叉树遍历的一种,也叫做先根遍历.先序遍历.前序周游,可记做根左右.前序遍历首先访问根结点然后遍历左子树,最后遍历右子树. 若二叉树为空则结束返回,否则: (1)访问根 ...
- 二叉树的建立(已知前序序列和中序序列)
已知二叉树前序序列和中序序列递归创建二叉树 #include<bits/stdc++.h> using namespace std; typedef struct Node{char da ...
- 二叉树已知前序中序求后序(超简单)(java)
首先解题思路来自b站某高手,思路清奇,请看官先看视频: 无脑秒解!已知先/后序遍历与中序遍历,求后/先序遍历._哔哩哔哩_bilibili大佬轻喷,这个题做很简单,但是想做的快做的准应该没有比这更快的 ...
- 二叉树的遍历(前序、中序、后序、已知前中序求后序、已知中后序求前序)
二叉树的遍历(前序.中序.后序.已知前中序求后序.已知中后序求前序) 之前的一篇随笔(二叉树.前序遍历.中序遍历.后序遍历)只对二叉树的遍历进行了笼统的描述,这篇随笔重点对前.中.后序的遍历顺序进 ...
- 已知前序中序求层序 c语言递归,二叉树的遍历:前序,中序,后序,层序--包括递归和非递归实现...
# re: 二叉树的遍历:前序,中序输出有点问题,但是不知道到怎么修改,想请教各位大神 回复 更多评论 #include"stdio.h" #include"mall ...
最新文章
- centos sqldeveloper 连接mysql,Oracle SQL Developer 连接 Mysql 等数据库
- Silverlight for Windows Phone 7开发体验
- 机器人II(sdutoj2585)-JAVA
- Spring - Java/J2EE Application Framework 应用框架 第 5 章 Spring AOP: Spring之面向方面编程G
- 电压3.3V的ESD静电保护器件型号大全
- Java IOUtils.copy方法代码示例(亲测)
- 轻量级Ajax解决方案:Anthem.NET初探
- 【往届已EI检索-IEEE技术支持】第三届-信息技术与计算机应用 多主题征稿!
- CTS(5)---Android8.0中CTS测试对于TEE的要求
- 英语总结系列(三):如何维持激情
- 计算机管理设置透明,教你把win10任务栏透明设置
- 自然语言分析包NLTK安装及入门
- python 版权保护,python爬虫篇4——爬取专利著作权信息
- CCNA实验:实验二:交换机和路由器的IOS备份与恢复
- C++中的RVO、NRVO与Copy Elision
- 【Vue】Vue数据及事件绑定
- echarts正负极柱状图
- linux下socket编程(基础参考)
- 飞思卡尔 熟悉小车之 舵机篇
- RAAVPPSPSLSRHSSPHQSEDEEE
热门文章
- 数字IC设计学习笔记_Formality 形式验证
- 【FreeRTOS(一)】FreeRTOS新手入门——初识FreeRTOS
- print函数的高级用法(输出到文件,自定义间隔符,强制刷新)
- i7 10750h和i7 10870h 的区别
- Windows程序设计(中文第五版·珍藏版).mobi 电子书
- 【强烈推荐收藏】坚持3个月爆肝华为机试108题C++全解(适合新手入门,就业必刷套题)
- JavaSE阶段笔记
- Java之动态代理类实现日志简单实例
- 计算机网络发展趋势多元化,探析计算机网络通信技术现状与未来趋势.doc
- php header 生成pdf,使用PHP生成PDF文档