当前位置: 首页 > news >正文

408第一季 - 数据结构 - 树与二叉树II

二叉树的先中后序遍历

理解

 那主播,请问你有没有更快的遍历方式呢

有的,兄弟有的

以中序遍历为例啊

找左边有没有东西,左边没东西那它就自由了,就按上面的图举例子

A左边有东西,是B,B左边没东西,记下B

但B右边有东西,是C,C左边有没有东西,有东西,是E,E左边没东西了,记下BE

继续,C左边这下是真没东西了记下BEC

继续,C右边没东西就回溯到A了,这时A左边已经没东西了,记下BECA

但A右边有东西,是D,D左边有东西,是F,F左边没东西,记下BECAF

但F右边有东西,还不能回去,是H,H左边没东西,记下BECAFH

后面不说了,熟练就行 BECAFHDIGK

然后以 后序遍历为例

看看左边和右边有没有东西

A左边有东西啊,是B,B左边没东西但右边有东西啊,是C,C左边有东西,是E

终于,E左边没东西,右边也是,所以,记下E

回到C,左边的东西结束了,右边又没东西,记下EC

回到B,左边本来就没东西,右边的东西结束了,接下ECB

回到A,左边的东西结束了,右边还有很多呢,右边的东西是D,D左边有东西是F

F左边没东西,右边有H,H左边和右边都没东西,所以记下ECBH

后面不多说了,ECBHFIKGDA

再看看 最后的先序遍历啊

先根再看看左边右边有没有东西

先根!记下A,然后左边有东西,是B,记下AB,然后左边没东西,右边有东西,是C,记下ABC

C的左边有东西,是E,记下ABCE,然后E的左边和右边结束,回到C的左边处理完了,右边没东西结束,回到B也一样

回到A,左边处理完了,处理右边,懒的说了

ABCEDFHGIK,先序应该是最简单的

做题

1

给我用我的方法想出来 

b

2

也是啊,不会就反复抄写,熟稔于心,倒背如流

由遍历序列构造二叉树

 

 做题

1

 

2

 

a

3

 

b

4

前序和后序不能唯一确定二叉树

用选项里的中序构造,发现C有问题

它是3421,所以选c

小问题!

什么时候先序和后序是相反的

先序是根左右,后序是左右根

删个左就是 先序是根右,后序是右根

删个右就是 先序是根左,后序是左根

所以一层只有一个,随便画,就是相反的

那有多少种画法呢

4层的画,就只有2*4=8种

5

 

左删掉,都只剩根右了,那他们就是相同的,所以只要右子树

线索二叉树

理解

这里的空链域会有 2n - (n - 1) = n+1个,这里n-1是边的个数

然后就可以发现太浪费了,很不爽

线索二叉树也是分先中后序的

这里就写中序遍历的线索二叉树

然后这里,比如6这里,左边是2,右边是4

就这样连上去就行了

然后这样就行了,但还是有空的,哎

做题

1

d左边缺东西,所以是NULL

d

2

debxac

d

3

画个图bro 

    a

Y      X

a

 

http://www.lqws.cn/news/199963.html

相关文章:

  • Android学习总结-GetX库常见问题和解决方案
  • 金融预测模型开发:数据预处理、机器学习预测与交易策略优化
  • HttpURLConnection实现
  • PCDF (Progressive Continuous Discrimination Filter)模块构建
  • Kafka 消息模式实战:从简单队列到流处理(二)
  • 前端开发面试题总结-JavaScript篇(二)
  • Vue速查手册
  • 大数据(1) 大数据概述
  • rabbit mq使用TTL和DLX实现延迟队列
  • 微服务架构-分布式任务调度
  • SpringBoot 框架实现文件上传下载分享
  • Linux安装nginx
  • vue前端字典映射
  • 【工具教程】PDF电子发票提取明细导出Excel表格,OFD电子发票行程单提取保存表格,具体操作流程
  • 测试(面经 八股)
  • git小乌龟不显示图标状态解决方案
  • 判断一个或者多个软件是否安装,如果没有则自动安装
  • 14.MySQL使用C语言连接
  • SpringBoot项目接口集中测试方法及实现
  • 【基础算法】枚举(普通枚举、二进制枚举)
  • RAG检索系统的两大核心利器——Embedding模型和Rerank模型
  • 策略模式实战:Spring中动态选择商品处理策略的实现
  • 《真假信号》速读笔记
  • 物联网协议之MQTT(二)服务端
  • 轮廓 填充空洞 删除孤立
  • 【Dv3Admin】系统视图字典管理API文件解析
  • 靶场(二十)---靶场体会小白心得 ---jacko
  • 探索C++标准模板库(STL):String接口的底层实现(下篇)
  • JavaScript ES6 解构:优雅提取数据的艺术
  • 【python与生活】如何构建一个解读IPO招股书的算法?