数据结构速成--树和二叉树

由于是速成专题,因此内容不会十分全面,只会涵盖考试重点,各学校课程要求不同 ,大家可以按照考纲复习,不全面的内容,可以看一下小编主页数据结构初阶的内容,找到对应专题详细学习一下。  

 气死了气死了,为什么这个图片会有水印,而且水印还这么奇怪!!!!!!!

目录

一、树的基本概念

二、二叉树

​三、二叉树的遍历

1. 四种遍历

2. 线索树

四、树和森林

1. 树转换成二叉树

2. 森林转换成二叉树

3. 二叉树转换成森林

五、二叉排序树

六、哈夫曼树

1. 构造哈夫曼树

2. 哈夫曼编码

【书后典型例题】


一、树的基本概念

  • 根到结点的唯一路径上的任意结点,称为结点的祖先
  • 路径上最接近结点的结点称为的双亲,而为结点的孩子
  • 树中一个结点的孩子个数称为该结点的,树中结点的最大度数称为树的度。
  • 度大于的结点称为分支结点(又称非终端结点);度为(没有孩子结点)的结点称为叶子结点(又称终端结点)。
  • 有相同双亲的结点称为兄弟
  • 结点的层次从树根开始递归定义,根结点为第层,它的子结点为第层。
  • 结点的深度是从根结点开始自顶向下逐层累加。
  • 结点的高度是从叶结点开始自底向上逐层累加。
  • 树的高度(或深度)是树中结点的最大层数。
  • 有序树无序树。树中结点的各子树从左到右是有次序的,不能互换,称该树为有序树,否则称为无序树。假设图为有序树,若将子结点位置互换,则变成一颗不同的树。
  • 路径路径长度。树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数。

二、二叉树

三、二叉树的遍历

1. 四种遍历

先序(前序)遍历:根->左子树->右子树

中序遍历:左子树->根->右子树

后序遍历:左子树->右子树->根

层序遍历:按顺序把每一行的结点输出

注意:在知道遍历的结果,需要还原二叉树时,只知道一种遍历结果是不能还原的。必须要知道中序遍历+其他任一种遍历结果才可还原。还原二叉树的重点就在于找到根节点。

 以前序遍历+中序遍历为例:

2. 线索树

        什么线索树就先把对应的遍历结果写出来。用虚线的箭头画出前驱和后继结点。没有左孩子就画前驱,没有右孩子就画后继,叶子结点既要画前驱也要画后继。

注意:遍历结果的最后一个有时候没有右孩子,这个时候要画一个指向null。第一个有时候没有左孩子,也要指向null

PS: 看不懂这里的可以看一下最后一部分的例题。

四、树和森林

         树的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法

1. 树转换成二叉树

2. 森林转换成二叉树

3. 二叉树转换成森林

        实际上就是森林变成二叉树的逆过程。

五、二叉排序树

六、哈夫曼树

1. 构造哈夫曼树

 注意:这个地方是要从新构造的结点和其他剩余的结点里取最小的继续构造,但是当遇到新构造的结点值在其他剩余的结点里有相同的值,优先使用原来就提供的结点。(可以看一下最后一个例题,顺便了解一下初态和终态

2. 哈夫曼编码

        这一步就很简单了,左子树为0,右子树为1,然后从根节点开始读就可以了。

【书后典型例题】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/36777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东京裸机云服务器怎么用

东京裸机云服务器是一种结合了物理服务器性能和云服务灵活性的高性能计算服务,它为用户提供了高效、安全的计算和存储能力。在了解如何使用东京裸机云服务器之前,需要了解其基本特性和优势。具体分析如下,rak部落小编为您整理发布。 1. **硬件…

温故而知新

一、基础知识 1. HTML 学习笔记 【狂神说Java】HTML5 b站课程笔记_狂神说java html笔记-CSDN博客 复习笔记 loading... 2. CSS 学习笔记 【黑马程序员】1、CSS基础_2023新版前端Web开发HTML5CSS3移动Web视频教程_笔记_html5移动web开发黑马程序员-CSDN博客 【黑马程…

哈尔滨等保测评:技术、管理与人员三维一体,共筑信息安全长城

在数字化转型的大潮中,哈尔滨作为东北亚地区的重要城市,其信息化建设的加速推进伴随着网络攻击风险的日益增长。 网络安全等级保护测评(等保测评)作为维护信息安全的重要防线,在哈尔滨的实践展示了技术防护、管理体系…

代码随想录第36天|动态规划

62. 不同路径 补充: 对二维数组的操作 dp[j][i] 表示到 j,i 有多少种路径递推公式: dp[j][i] dp[j - 1][i] dp[j][i - 1]初始化: dp[0][i] 和 dp[j][0] 都只有1种情况遍历顺序: 由于dp[j][i] 由 上和左的元素推导, 所以采用从左到右、从上到下的遍历顺序 class Solution {…

合肥工业大学密码学实验SM234设计与实现

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 : 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累…

怎么隐藏宝塔面板左上角绑定的手机号码?

宝塔面板后台的左上角会显示我们绑定的宝塔账号(手机号码),每次截图的时候都要去抹掉这个号码,那么能不能直接将这个手机号码隐藏掉呢? 如上图红色箭头所示的手机号码,其实就是我们绑定的宝塔账号&#xff…

Delphi-2M:基于病史预测未来健康的改进GPT架构

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

CAN-bus总线在冷链运输中的应用

CAN-bus总线在冷链运输中的应用 如图1所示,疫苗冷链是指为保证疫苗从疫苗生产企业到接种单位运转过程中的质量而装备的存储、运输冷藏设施、设备。由于疫苗对温度敏感,从疫苗制造的部门到疫苗使用的现场之间的每一个环节,都可能因温度过高而失效。在储运过程中,一旦温度超…

R语言 | 带P值的相关性热图绘制教程

原文链接:带P值的相关性热图绘制教程 本期教程 往期教程部分内容 **注意:若是在MarkDown格式中无法运行成功,请新建有一个R script文件 ** 一、加载R包 if (!require(corrplot)) install.packages("corrplot") if (!require(Hmi…

27、架构-微服务需要的条件

微服务需要的条件 在决定采用微服务架构之前,需要明确其前提条件。微服务架构不仅仅是技术上的变革,更涉及组织结构和团队文化的调整。以下是微服务需要的几个关键条件: 1. 组织结构 微服务的成功实施依赖于组织结构的支持。根据康威定律&…

【python】PyQt5对象类型的判定,对象删除操作详细解读

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【离散数学·图论】(复习)

一、基本概念 1.一些基本术语: 2.点u,v邻接(或相邻): 边e称为关联顶点u和v,or e连接u和v; 3.G(V,E)中,顶点v所有邻居的集合:N(v), 成为v的邻域。 4.度 : deg(v) 5.悬挂点:度为1的…

鸿蒙智慧监控解决方案:由Al视觉盒、网络摄像头、管理后台、手机端、NVR等组成

方案架构 整体技术架构由Al视觉盒、网络摄像头、管理后台、手机端、NVR等组成,提供从前端智能监控到后端数据处理的完整闭环。 方案价值 01/节约人力成本 ①AI算法对监控内容进行实时的智能检测,准确率高,有效减少错漏,无需多个…

springCloudalibabaAI孵化(一)

目录 1、what 1、简介 2、核心概念 3、高级特性 Prompt 和 AiResponse 4、功能 2、How 1、前言 2、在项目 pom.xml 中加入 2023.0.1.0 版本 Spring Cloud Alibaba 依赖: 3、在 配置文件中加入以下配置:application.yml 4、编写聊天服务实现类&a…

如何精准分析人形机器人运动数据?

全球“机器换人”进程加速,人形机器人有望成为AI下一个重要落地应用场景;EtherCAT-Analyzer具备分析人形机器人所有关节和电池与主站的通讯信息,快速掌握节点网络状态! 前言 随着人形机器人行业的发展及《中国制造2025》的全面实施,传统的脉冲模式控制很大程度上制约了机…

照明物联网:基于网关的智能照明云监控系统解决方案

智能照明系统就是利用物联网技术,将同一空间的照明、空调、新风、排风等系统共同接入物联网平台,实现了“设备互联、数据互通”的智慧物联能力。照明数据、环境监测数据通过网关上传云端,在云端进行统计分析并将结果通过各种终端共享&#xf…

JVM专题十三:总结与整理(持续更新)

图解JVM JVM与Java体系结构 JVM垃圾回收算法 JVM垃圾回收器 图解JVM主要是放了前面12个章节的我们给大家画的图,做了整体的汇总,大家可以根据图区回忆我们所说的内容,查缺补漏。 实战经验 1、项目中数据量多少,QPS与TPS最高多少…

充电站,正在杀死加油站

最近,深圳公布了一组数据,深圳的超级充电站数量已超过传统加油站数量,充电枪数量也已超过加油枪数量。 从全国范围看,加油站关停的速度在加快。 充电站正在杀死加油站。 加油站,未来何去何从? 01. 减少 我…

FFmpeg教程-二-代码实现录音

目录 一,实现步骤 二,具体实现 1,注册设备 2,获取输入格式对象 3,打开设备 4,采集数据 一,实现步骤 二,具体实现 1,注册设备 // 初始化libavdevice并注册所有输入…

vue动态渲染元素,对处于奇数位置的元素设置样式

在Vue中,如果你想要对动态渲染的列表中处于奇数位置的元素设置样式,你可以使用v-for指令结合index来实现。v-for指令允许你指定一个key和一个index,其中index代表当前元素在列表中的位置(从0开始计数)。 以下是如何对…