此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态
本文分享自华为云社区《【云驻共创】想了解二叉树,看这篇文章就够了》,作者: liuzhen007 。
前言
日常生活中,很多事物都可以用树来描述,例如书的目录、工作单位的组织架构等等。树是计算机中非常重要的一种数据结构,树存储方式可以提高数据的存储、读取效率。
一、树的基本定义
日常生活中,很多事物都可以用树来描述,树是计算机中非常重要的一种数据结构,树存储方式可以提高数据的存储、读取效率,比如利用二叉排序树,既可以保证数据的检索速度,同时,也可以保证数据的插入、删除、修改的速度。
其实,树的种类有很多种,比如普通的二叉树、完全二叉树、满二叉树、线索二叉树、哈夫曼树、二叉排序树、平衡二叉树、AVL平衡二叉树、红黑树、B树、B 树、堆等。今天介绍的主要内容是二叉树的基本知识和几种基础类型的二叉树。
二、二叉树的相关术语
在正式开讲前,首先介绍一些关于二叉树的专业名词和术语,包括结点、结点的度、叶子结点、分支结点、结点的层次、树的度、树的深度等,了解这些基础的专业名词和术语对于我们理解二叉树的特性有非常重要的帮助作用。
1)结点:包含一个数据元素及若干指向子树分支的信息。
2)结点的度:一个结点拥有子树的数据成为结点的度。
3)叶子结点:也称为终端结点,没有子树的结点或者度为零的结点。
4)分支结点:也称为非终端结点,度不为零的结点成为非终端结点。
5)结点的层次:从根结点开始,根结点的层次为1,根的直接后继层次为2,以此类推。
6)树的度:树中所有结点的度的最大值。
7)树的深度:树中结点的最大层次。
1. 树的特点
树作为一种特殊的数据结构,有非常多的特性,比如:
1)每个结点有多个或者零个子结点
2)没有父结点的结点成为根结点,没有子结点的结点成为叶结点
3)每一个非根结点只有一个父结点
4)每个结点及其后代结点整体上可以看做是一棵树,称为当前结点为根的子树
2. 二叉树的基本定义
1)二叉树就是度不超过2的树,其每个结点最多有两个子结点
2)二叉树的结点分为左结点和右结点
3. 满二叉树
1)二叉树的每一层的结点度都达到最大值,则这个二叉树就是满二叉树
2)一棵深度为n的满二叉树,有2^n-1个结点
4. 完全二叉树
叶子结点只能出现在最下层和次下层,最后一层的叶子结点在左边连续,倒数第二层的叶子结点在右边连续,我们称为完全二叉树。43码的鞋鞋柜深度应该是多少深度300的鞋柜能放43码的鞋吗怎么进入深度睡眠(如何冥想达到深度睡眠)宾得相机怎么样(宾得ks2深度评测)慕思3d床垫怎么样(u深度pe装机工具使用教程)佳能5d4怎么样(佳能5d4深度评测)深度睡眠多久(做一次睡眠监测要住院吗)多久深度睡眠(一般入睡后多久是熟睡)为什么这么能睡(深度睡眠被触摸知道吗)怎么安装xp系统 深度xp系统安装教程?