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

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.xdnf.cn/news/12671.html

相关文章:

  • 《Brief Bioinform》: 鼠脑单细胞与Stereo-seq数据整合算法评估
  • 【Java实例-英雄对战】Java战斗之旅,既分胜负也决生死
  • 台式机电脑CPU天梯图2025年6月份更新:CPU选购指南及推荐
  • Canal环境搭建并实现和ES数据同步
  • App Search 和 Workplace Search 独立产品现已弃用
  • Cursor实现用excel数据填充word模版的方法
  • Fetch与Axios:区别、联系、优缺点及使用差异
  • 使用 C/C++ 和 OpenCV 提取图像的感兴趣区域 (ROI)
  • vue3+dify从零手撸AI对话系统
  • JavaWeb的一些基础技术
  • 在Ubuntu上使用 dd 工具制作U盘启动盘
  • 使用Transformer模型进行时间序列预测的完整解决方案,满足预测误差≤1.5%和注意力权重可视化的要求
  • GitHub 趋势日报 (2025年06月06日)
  • 2025年- H76-Lc184--55.跳跃游戏(贪心)--Java版
  • 有没有 MariaDB 5.5.56 对应 MySQL CONNECTION_CONTROL 插件
  • 信息最大化(Information Maximization)
  • Go语言进阶④:Go的数据结构和Java的有啥不一样
  • 光学字符识别(OCR)理论概述与实践教程
  • 动目标显示处理解析一(脉冲对消器)
  • Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
  • 前沿论文汇总(机器学习/深度学习/大模型/搜广推/自然语言处理)
  • 数据类型 -- 字符
  • SQL字符串截取函数全解析:LEFT、RIGHT、SUBSTRING 实战指南
  • 如何使用Jmeter进行压力测试?
  • MySQL-运维篇
  • 隐私计算时代B端页面安全设计:数据脱敏与权限体系升级路径
  • 数据结构算法(C语言)
  • 新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案
  • 开源之夏·西安电子科技大学站精彩回顾:OpenTiny开源技术下沉校园,点燃高校开发者技术热情
  • 华为云Astro中服务编排、自定义模型,页面表格之间有什么关系?如何连接起来?如何操作?