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

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.lryc.cn/news/2403986.html

相关文章:

  • 打卡第47天
  • 从上下文学习和微调看语言模型的泛化:一项对照研究
  • 智慧城市建设方案
  • phosphobot开源程序是控制您的 SO-100 和 SO-101 机器人并训练 VLA AI 机器人开源模型
  • pygame开发的坦克大战
  • C++2025.6.7 C++五级考题
  • 【原神 × 二叉树】角色天赋树、任务分支和圣遗物强化路径的算法秘密!
  • 功能安全实战系列09-英飞凌TC3xx LBIST开发详解
  • 一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (二)
  • RT-Thread内核组成——内核移植
  • Docker_Desktop开启k8s
  • MS2691 全频段、多模导航、射频低噪声放大器芯片,应用于导航仪 双频测量仪
  • 基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统
  • Java泛型中的通配符详解
  • Java方法引用深度解析:从匿名内部类到函数式编程的演进
  • 三维GIS开发cesium智慧地铁教程(4)城市白模加载与样式控制
  • 越狱蒸馏-可再生安全基准测试
  • 64、js 中require和import有何区别?
  • 手机号段数据库与网络安全应用
  • Kafka 入门指南与一键部署
  • MATLAB实战:视觉伺服控制实现方案
  • Oracle正则表达式学习
  • 校招 java 面试基础题目及解析
  • # STM32F103 SD卡读写程序
  • Spring中循环依赖问题的解决机制总结
  • 青少年编程与数学 01-011 系统软件简介 04 Linux操作系统
  • 微软PowerBI考试 PL300-使用适用于 Power BI 的 Copilot 创建交互式报表
  • 损坏的RAID5 第十六次CCF-CSP计算机软件能力认证
  • Android USB 通信开发
  • Prompt提示工程指南#Kontext图像到图像