数据结构:二叉树(一)·(重点)

前言

什么树?what?

树的概念与结构

概念:

树是⼀种⾮线性的数据结构,它是由 n ( n>=0 ) 个有限结点 组成⼀个具有层次关系 的集合。

结构:

有⼀个特殊的结点,称为根结点,根结点没有前驱结点。 除根结点外,其余结点被分成 M(M>0) 个互不相交的集合 T1 、 T2 、 ...... 、 Tm ,其中每⼀个集合 Ti(1 <= i <= m) ⼜是⼀棵结构与树类似的⼦树。每棵⼦树的根结点有且只有⼀个前驱,可以 有 0 个或多个后继。因此,树是递归定义的。在树形结构中,⼦树之间不能有交集,否则就不是树形结构。(这里只讲树形结构)

如图:

树的相关术语

树的相关术语理解就行,没必要硬记。

⽗结点/双亲结点:

若⼀个结点含有⼦结点,则这个结点称为其⼦结点的⽗结点。

如上图:1是2的⽗结点

⼦结点/孩⼦结点:

⼀个结点含有的⼦树的根结点称为该结点的⼦结点。

如上图:2是1的孩⼦结点

结点的度:

⼀个结点有⼏个孩⼦,他的度就是多少。

⽐如1的度为2,5的度为2,9的度为0

树的度:

⼀棵树中,最⼤的结点的度称为树的度。

如上图:树的度为 2(上述图中每个节点的度都为2)

叶⼦结点/终端结点:

度为 0 的结点称为叶结点。

如上图: 9、10、11... 等结点为叶结点

分⽀结点/⾮终端结点:

度不为 0 的结点。

如上图: 2、、4、5、6... 等结点为分⽀结点

兄弟结点:

具有相同⽗结点的结点互称为兄弟结点(亲兄弟)。

如上图:4、5是兄弟结点

结点的层次:

从根开始定义起,根为第 1 层,根的⼦结点为第 2 层,以此类推。

树的⾼度或深度:

树中结点的最⼤层次。

如上图:树的⾼度为 4

结点的祖先:

从根到该结点所经分⽀上的所有结点。

如上图: 1 是所有结点的祖先

路径:

⼀条从树中任意节点出发,沿⽗节点-⼦节点连接,达到任意节点的序列。

⽐如1到11的路径为: 1-2-5-11

⼦孙:

以某结点为根的⼦树中任⼀结点都称为该结点的⼦孙。

如上图:所有结点都是1的⼦孙

森林:由 m ( m>0 ) 棵互不相交的树的集合称为森林;

树的表示(数据结构)

常见表示方式::双亲表⽰法,孩⼦表⽰法、孩⼦双亲表⽰法以及孩⼦ 兄弟表⽰法等。

如孩子兄弟表示法:

cpp 复制代码
struct TreeNode {
	struct Node* child;
	struct Node* brother;
	int data;
};

如图:

这篇文章目前只讲简单的基础部分,后续会继续更新!!!

作者希望在未来你们可以将自己的命运牢牢的握在自己手中,而不用满眼都是遗憾了!!!

相关推荐
2601_962218611 小时前
万象生鲜系统业财一体化底层打通技术自动生成经营账单
大数据·数据库·人工智能·python·算法
anew___1 小时前
蜂鸣器播放音乐——让 Arduino 唱出旋律
c++·stm32·单片机·嵌入式硬件·c
吞下星星的少年·-·1 小时前
The 2026 ICPC Asia East Continent Online Contest (II)(构造)
数据结构·算法
stolentime2 小时前
洛谷P10515 转圈题解
c++·算法·数学建模·贪心算法
tdtsmt3 小时前
穿戴硬件量产工艺实录:天地通电子智能手表主板 SMT 贴片案
c++
和裕3 小时前
蜂窝板 vs 七层瓦楞重型纸箱:大件工业设备运输性能与成本全对比
大数据·运维·网络·人工智能·算法
衡石科技4 小时前
Data_Agent记忆机制与经验复用衡石分析智能体会话记忆与长期学习技术解析
人工智能·科技·学习·算法·企业级bi
Msshu1235 小时前
2~5串锂电快充优选|XSP36 Type‑C升压/升降压快充管理芯片
数据结构·随机森林·贪心算法·排序算法·线性回归·启发式算法
shirsl5 小时前
算法 Day 2 滑动窗口 + 栈 / 单调栈
开发语言·python·算法
土司大王6 小时前
LeetCode hot100 回溯专题总结:Java 通用模板、决策树模型
java·算法·leetcode·决策树