文章目录
- 一、什么是树?
- 二、树的特点
- 三、树的概念
- 四、树的表示形式
- 五、树的应用
一、什么是树?
树是一种 非线性 的数据结构,是树型结构。是一个由n个有限结点组成的一个具有层次关系的集合,这种集合因为看起来像一颗倒挂的树:根朝上,叶子朝下,因而命名为 树。
二、树的特点
(1)、有一个特殊的结点,叫做根结点 root,根结点无前驱结点。
(2)、除了根结点之外,其余结点被分成n个互不相交的集合t1、t2、t3…其中每个集合又是一个与树类似的子树,每颗子树的根结点有且只有一个前驱结点,可以有0个或多个后继。
(3)、树是 递归 定义的
(4)、子树不相交。
(5)、除了根结点外,每个结点 都有且只有一个父结点。
(6)、一颗 n 个结点的树有 n-1 条边。
三、树的概念
(1)、结点的度:一个结点含有的子树个数称为结点的度。
(2)、树的度:一棵树中,结点的度最大值称为树的度。
(3)、叶子结点(终端结点):度为0的结点称为叶子结点。
(4)、双亲结点(父结点):若一个结点含有子结点,那么当前这个结点是子结点的双亲结点。
(5)、孩子结点(子结点):若一个结点含有前驱结点,此时自己就是前驱结点的孩子结点。
(6)、根结点:一棵树中,既没有双亲结点又没有孩子结点的结点叫做根结点
(7)、结点的层次:从根结点开始,根结点为第1层,根结点的子树为第2层,以此类推。
(8)、树的高度(深度):一棵树有多少层。(可能会根据树的高度判断树的时间复杂度)
(9)、非终端结点:除了叶子节点其他都是非终端结点。
(10)、子孙:以某结点为根的子树中任一结点都称为该结点的子孙。
(11)、森林:由m(m>=0)棵互不相交的树组成的集合称为森林。(m=0也称为森林)
四、树的表示形式
树型结构相对线性结构就比较复杂了在这里插入图片描述
,要存储表示起来就比较麻烦,但实际中树有很多种表示方式,所以如果我想表示一棵树,可以通过 双亲表示法、 孩子表示法、孩子双亲表示法、孩子兄弟表示法。
那就以最简单的 孩子兄弟表示法 作了解。(二叉树就是用 孩子兄弟表示法 存储数据)。
五、树的应用
文件管理系统 (目录和文件)。不管是 linux 还是 windows 系统,都是使用树来管理/组织文件及目录的。