树与森林的概念与性质
全部数据结构、算法及应用课内模板请点击:https://blog.csdn.net/weixin_44077863/article/details/101691360
一、树与森林的概念及定义
1、树的特点:树中结点(除根结点)均有一个直接前驱和多个直接后继,树是一个树形(非线性)结构。
2、树上结点的度:树上结点的度为其出度,即儿子个数
3、父结点、儿子结点、兄弟结点、祖先结点、子孙结点、叶子结点(又叫终端结点、外部结点,度为0)、
分支结点(又叫非叶子结点、内部节点,度不为0)
4、树的度:结点的度中的最大值
5、高度和深度:科学出版社张宪超的数据结构规定 深度从0开始,高度从1开始,这个没啥成文规定,笔试看题里会给具体规定
6、结点的深度(结点的层数):从上到下依次增加
7、结点的高度:科学出版社张宪超的数据结构没有提出这一概念,因为对这一概念的定义说法有二
①该结点到最低的结点的高度
②该结点作为根结点的子树的高度
8、树的高度:从下到上依次增加
9、有序树:每个结点的所有子树间存在确定的次序关系(即儿子有顺序)
10、无序树:每个结点的所有子树间不存在确定的次序关系(即儿子无顺序)
11、二叉树:树的度为2的有序树(注意有序树,l 和 r 不可颠倒)
12、森林:m>=0棵树构成森林
13、理解与拓展:树本质上是一个有向图,指向关系由选取的根结点决定。平时我们只是把树上指向的箭头省略掉了。
对一个n个结点的无向图,有n种方式构建一棵无序树
二、树的表示方法(了解一下)
1、树形表示法(常用)
2、文氏图表示法
3、凹入表示法
4、嵌套括号表示法
三、树的性质
1、树的结点树 = 所有结点的度之和 + 1(所有的结点度之和等于根结点的子孙数)
2、度为 m 的树,第 i 层上至多有 个结点(i>=0)
3、高度为 h,度为 m 的树至多有 个结点(等比数列求解)
4、n 个结点,度为 m 的树,最小高度为向上取整
四、几种特殊的二叉树
1、完全二叉树:除最后一层外上面的其他层全满,且最后一层的结点位于最左侧连续的位置上
特点:叶子结点一定在最后一层或倒数第二层
2、满二叉树:每一层都是满的,满二叉树是最特殊的完全二叉树
特点:只有度为 0 或度为 2 的结点,没有度为 1 的结点,结点个数 n = 2^h - 1,叶子结点一定在最后一层
3、扩充二叉树:对儿子数不够两个的结点添加空树叶
特点:新增的点必然是叶子结点,老结点必然是分支结点
专属概念:外部路径长度E:根结点到每个空树叶的路径长度之和
内部路径长度 I:根结点到每个内部结点的路径长度之和
五、二叉树的性质(建议全部记住)
设度为 0 的结点数为 n0,1的为 n1,2的为 n2,结点数 n,高度 h(h>=1)
1、n = n0 + n1 + n2
2、n = n1 + 2*n2 + 1
3、n0 = n2 + 1
4、
5、最小高度为 向上取整
6、第 i 层 (i>=0)至多有 个结点
7、完全二叉树高度 h = 向上取整
8、满二叉树 叶子结点数 = 分支结点数 + 1
六、存储方式
1、链式存储 or 顺序存储
2、顺序存储时父子下标的特点
①从 1 开始编号 , 2i 为左儿子,2i + 1 为右儿子,i / 2 为父亲
②从 0 开始编号 , 2i + 1 为左儿子,2i + 2 为右儿子,( i - 1 ) / 2 为父亲
七、小问题:
1、树上的结点不是叶子结点就是分支结点,对吗?
答:对
2、树上的根结点一定是分支结点,对吗?
答:错。只有根结点时,根结点为叶子结点。
八、推论与证明:
1、高度为 h,度为 m 的树,对结点个数 n 有,
2、对三、4的证明:
利用六、1的结论可得
于是得证
树与森林的概念与性质相关推荐
- 树与二叉树基本概念与性质
树的基本概念 基本概念 树的度-- 一棵树中最大的结点度数 双亲-- 孩子结点的上层结点叫该结点的双亲 兄弟-- 同一双亲的孩子之间互成为兄弟 祖先-- 结点的祖先是从根到该结点所经分支上的所有结点 ...
- 树和二叉树的概念、性质、计算
树和二叉树 树的基本术语 树的性质 树中的结点数 == 所有结点度数+1(重点) 度为m的数,第i层最多有 (重点) 高度为h的m次树,最多有 (重点) 具有n个结点的m次树的最小高度为 (向 ...
- 树 - 定义和基本概念
一.树(Tree)是n(n>=0)个结点的有限集.n=0时称为空树.在任意一棵非空树中:(1)有且仅有一个特定的称为根(root)的结点. (2)当n>1时,其余结点可分为m(m>0 ...
- 树和二叉树的基本概念及性质
目录 一.树概念及性质 1.树的概念 2.树的部分性质 3.树的表示 二. 二叉树概念及结构 1.概念 2.特殊的二叉树: 1.满二叉树 2.完全二叉树 3.二叉树的性质 4.堆的概念及结构 一.树概 ...
- 考研复习之数据结构笔记(九)树(上)(树和二叉树的概念、特征、性质及相关实例)
目录 一.树的基本概念和术语 1.1 基本定义与特点 (1)基本定义: (2)基本特点 1.2 树的基本术语 1.3 树的基本性质 二.二叉树 2.1 二叉树的定义与性质 (1)基本概念 (2)与树的 ...
- c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...
第四章:树与二叉树(二叉树的逻辑结构) 1.二叉树 二叉树是树结构的一种,故二叉树也是逻辑结构. 二叉树:二叉树是n(n≥0)个结点的有限集合. · 1)n=0时,二叉树为空; · 2)n>0时 ...
- 【数据结构-树】1.树与森林(树的遍历、树的存储方法、并查集的实现)
树的定义 树是一种数据结构,它是由 n(n>=1)n(n>=1)n(n>=1) 个有限结点组成一个具有层次关系的集合.把它叫做 "树" 是因为它看起来像一棵倒挂的 ...
- 【数据结构基础/接口函数编写】二叉树第一弹之树和堆的概念和结构、基础堆接口函数的实现(编写思路加逻辑分析加代码实操,一应俱全的汇总)
文章目录 树的概念及结构 树的概念 树的相关概念 树的表示 二叉树的概念及结构 二叉树的概念 特殊的二叉树: 二叉树的存储结构 二叉树的性质 顺序储存 链式储存 堆 堆的概念及结构 堆的实现 头文件 ...
- 数据结构——树及二叉树的概念及结构的了解
文章目录 一.树概念及结构? 1.树的概念 2.树的相关概念 3.树的表示 4. 树在实际中的运用 二.叉树的概念及结构 1.概念 2.现实中的二叉树 3.特殊的二叉树 4.二叉树的性质 5.二叉树的 ...
最新文章
- Ansible06-管理roles
- ubuntu下创建eclipse桌面快捷方式
- Linux CenOS7下安装ActivetMQ
- 深入理解mybatis原理, Mybatis初始化SqlSessionFactory机制详解(转)
- 下次偶转贴贴子时得加上转贴才行~~~
- Hadoop基础-配置历史服务器
- 机器人电量估计方法及实践
- c语言中编译链接机制
- 小猿圈分享-数据分析工具
- Julia:String和ASCIIString
- Window open使用教程
- Cesium 加载自定义DEM数据
- 手机访问电脑虚拟服务器,User Agent Switcher插件使用教程【电脑模拟手机访问网站】...
- numpy创建单位矩阵和对角矩阵
- Android 白天黑夜模式切换适配及引起的Activity销毁重启解决
- 固定连接index.php,WP中去掉固定链接中的index.php和category
- [七夕节]——一款基于canvas绘制五颜六色线条合成一个爱心发光动画特效
- 石墨文档代码学习笔记分享
- Java双亲委派模型是什么、优势在哪、双亲委派模型的破坏
- 百度网盘搜索工具_2019