【数据结构】树的定义、核心术语与关键性质全解析
在数据结构的世界里树Tree是一种极其重要的非线性结构它完美模拟了自然界中树的层次关系从文件系统、组织结构到算法中的二叉搜索树、堆再到 AI 中的决策树树的身影无处不在。今天我们就从零开始彻底搞懂树的定义、核心术语和关键性质帮你打下坚实的算法基础。一、树的定义什么是树树是nn≥0个结点的有限集合满足两个核心条件有且仅有一个根结点Root这是树的起点没有双亲结点其余结点可分为 mm≥0个互不相交的有限集合每个集合本身又是一棵树称为根结点的子树。简单来说树是一种一对多的层次结构和线性表一对一、图多对多有本质区别。当 n0 时称为空树树中不存在回路任意两个结点之间有且仅有一条路径一棵有 n 个结点的树恰好有n-1 条边这是树最基础的特征之一。二、树的核心术语一张图看懂所有概念我们用一张完整的树结构拆解所有高频术语帮你彻底搞懂每个概念的含义1. 结点间的基础关系术语定义示例以图中树为例双亲父结点某个结点的直接前驱结点H 的双亲是 DB 的双亲是 A孩子子结点某个结点的直接后继结点D 的孩子是 H、I、JB 的孩子是 E、F兄弟结点同一个双亲的孩子结点B、C、D 互为兄弟L、M 互为兄弟祖先结点从根结点到该结点所经分支上的所有结点K 的祖先为 A、B、F子孙结点以某结点为根的子树中的所有结点D 的子孙为 H、I、J、L、M2. 结点与树的属性术语定义示例结点的度该结点拥有的孩子子结点的个数D 的度为 3A 的度为 3E 的度为 0叶结点终端结点度为 0 的结点没有孩子E、G、K、L、M、I、J 都是叶结点分支结点非终端结点度大于 0 的结点A、B、C、D、F、H 都是分支结点树的度树中所有结点的度的最大值本树中结点最大度为 3因此树的度为 3结点的深度结点所在的层次根结点深度为 1A 深度 1B 深度 2K 深度 4结点的高度以该结点为根的子树的层数叶结点高度为 1K 高度 1B 高度 3A 高度 4树的高度 / 深度 / 层数树中结点的最大深度等于根结点的高度本树高度为 4深度为 4层数为 4路径与路径长度两个结点之间的结点序列路径长度为经过的边数A→D→H→L 的路径长度为 3有序树 / 无序树有序树子树从左到右有顺序不可互换无序树子树无顺序二叉树是典型的有序树森林mm≥0棵互不相交的树的集合把根结点 A 删除B、C、D 为根的三棵树就构成森林3. 特殊树度为 m 的树 vs m 叉树对比项度为 m 的树m 叉树相同点树中所有结点的度最多为 m树中所有结点的度最多为 m不同点至少有一个结点的度等于 m是对现有树的描述所有结点的度可以都小于 m甚至可以是空树是对树结构的约束示例度为 3 的树必须有一个结点度为 3其余≤3三叉树所有结点度≤3 即可允许全树结点度都小于 3三、树的关键性质性质 1结点数、边数、度数的核心关系这是树最基础、最常用的性质总边数 总结点数 - 1n 个结点的树有 n-1 条边总结点数 所有结点度数之和 1根结点没有双亲度数和仅统计孩子数若设n0为叶结点数n1为度 1 的结点数n2为度 2 的结点数…nm为度 m 的结点数则nn0n1n2...nmn(0⋅n01⋅n12⋅n2...m⋅nm)1示例一棵度为 4 的树 T 中有 20 个度为 4 的结点10 个度为 3 的结点1 个度为 2 的结点10 个度为 1 的结点求叶结点数n0。总度数和 20×410×31×210×18030210122总结点数n1221123又nn01011020n041因此n0123−4182性质 2m 叉树的结点数上限对于m 叉树或度为 m 的树第i层最多有mi−1个结点根结点在第 1 层i≥1例三叉树第 1 层最多301个第 2 层最多313个第 3 层最多329个高度为h的 m 叉树最多有m−1m/h−1个结点等比数列求和m0m1...mh−1性质 3高度为 h 的树的结点数范围高度为 h 的 m 叉树最少有h个结点每层 1 个结点形成单链最多有m−1mh−1个结点满 m 叉树高度为 h 的度为 m 的树最少有h−1m个结点前h−1层每层 1 个最后一层m个结点保证有一个结点度为 m最多同样是m−1mh−1个结点性质 4n 个结点的 m 叉树的高度范围最小高度⌈logm(n(m−1)1)⌉等价于⌈logm(n−1)1⌉对应完全 m 叉树的高度推导满 m 叉树结点数m−1mh−1≥n解得h≥logm(n(m−1)1)向上取整最大高度nm 叉树允许所有结点度≤m形成单链高度为 n度为 m 的树的最大高度n−m1必须有一个结点度为 m因此前n−m层每层 1 个最后一层m个结点四、树的应用场景为什么树如此重要树的层次结构完美适配了现实中的很多场景文件系统电脑的文件夹结构就是典型的树根目录是根结点子文件夹是子结点文件是叶结点组织结构公司的部门架构、家族族谱都是树的层次关系算法结构二叉搜索树、平衡二叉树、堆、B 树、红黑树是数据库索引、排序算法的核心AI 与机器学习决策树、随机森林用树结构做分类与回归编译原理语法分析树用于解析代码的语法结构。五、总结树的核心知识点速记类别核心要点定义n 个结点的层次结构n-1 条边无回路唯一根结点关键术语度、叶结点、分支结点、深度、高度、路径、有序树、森林核心性质总结点数 度数和 1m 叉树第 i 层最多mi−1个结点高度 h 的 m 叉树最多m−1mh−1个结点易混点度为 m 的树≠m 叉树结点深度≠结点高度六、思考题检验学习效果一棵二叉树有 10 个度为 2 的结点5 个度为 1 的结点求叶结点数一棵高度为 4 的三叉树最多有多少个结点最少有多少个结点100 个结点的三叉树最小高度是多少答案1. 112. 最多 40 个最少 4 个3. 5
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2470718.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!