文章目录
- 什么是树结构?
- 简介
- 为什么要使用树结构?
- 树的基本概念
- 根节点
- 双亲节点
- 路径
- 节点的度
- 节点的权
- 叶子节点
- 子树
- 层
- 树的高度
- 森林
什么是树结构?
树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样
简介
树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示。树在计算机领域中也得到广泛应用,如在编译源程序如下时,可用树表示源源程序如下的语法结构。又如在数据库系统中,树型结构也是信息的重要组织形式之一。一切具有层次关系的问题都可用树来描述
比如下图就是一颗树结构,这张图倒过来看就会跟树一样
为什么要使用树结构?
- 查找性能好
- 插入性能好
树的基本概念
根节点
这一个就是树的一个根节点,看树结构的时候一般都是从上往下看的
双亲节点
比如这样一幅图,A 是 C 和 D 的双亲节点,C 和 D 是 A 的子节点。同样地,B 是 E 和 F 的双亲节点,E 和 F 是 B 的子节点,下面的也是一样,以此类推
路径
比如说我们查找 C 的话,那路径就是 A ——> B ——> C
节点的度
节点的度就是说看下这个节点有多少个子节点或者说子树,对于一个节点有多少个子节点我们就认为它的度是多少
在这幅图中
- 对于 C 来说的话它的度就是 0,因为它没有子节点
- 对于 A 节点来说它的度就是 3,因为 A 节点有三个子节点,分别是 B C D
- 对于 B 节点来说它的度就是 2,因为 B 节点有两个子节点,分别是 E F
- 对于 D 节点来说它的度也是 2,因为 D 节点有两个子节点,分别是 G H
以此类推
节点的权
节点的权指的是我们往这个节点上面赋予的数值内容,简单地说就是这个节点里面存的数字
比如黄色框住的权是1,蓝色框住的权是2,灰色框住的权是3
叶子节点
叶子节点就是没有子节点的节点
比如这幅图,圈出来的都是叶子节点,因为他们没有子节点。就好比树的叶子一样,叶子怎么长出叶子呢对吧
子树
比如这幅图,把黄色一块单独拿出来也可以作为一棵树,但是这黄色部分这棵树本身是在这一整棵树里边的,所以称为子树
层
比如这幅图里边的树就可以划分为四层
树的高度
树的高度也就是树的最大层数
森林
比如我们把上面图中的树拆分,如下图所示
拆分之后就变成三棵树了,那么这三棵树就可以称为森林