问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

二叉树的基本概念(定义,特性,存储结构等)

创作时间:
作者:
@小白创作中心

二叉树的基本概念(定义,特性,存储结构等)

引用
CSDN
1.
https://blog.csdn.net/lilililililiki/article/details/103240022

二叉树是计算机科学中一种重要的数据结构,它在算法设计、程序开发等领域有着广泛的应用。本文将从定义、特性、存储结构等多个维度,全面介绍二叉树的基本概念,帮助读者建立对这一数据结构的清晰认知。

一.二叉树的定义

二叉树(Binary Tree)是n(n>=0)个数据元素的有限集合,该集合可以为空(空二叉树),也可以由一个称为根(root)的元素及两个不相交的,被分别称为左子树和右子树的二叉树组成

如上图中含有7个结点,其中A是根节点,左子树TL由{B,D,E}构成,右子树TR由{C,F,G}构成;而左子树TL中B是根结点,左子树是{D},右子树是{E};右子树TR中,C是根结点,左子树为空,右子树为{F,G};以此类推。
由上述可以看出在二叉树中用到了递归的概念。即用二叉树来定义二叉树。

二叉树的特点:
①每个结点最多有两棵子树
②左子树和右子树是有顺序的,次序不能颠倒(若将其左右子树颠倒,就成为另外一颗不同的二叉树)
二叉树有五种基本形态:
1.空树(0个结点)
2.只有一个根结点
3.根节点只有左子树
4.根节点只有右子树
5.根节点左右子树都有

二.二叉树的一些概念

1.结点
:结点所拥有的子树个数称为该结点的度;二叉树中各结点度的最大值称为该二叉树的度;度为0的结点称为叶子结点,或者终端结点;度不为0的称为分支结点。一颗二叉树的结点除了叶子节点,其余的都是分支结点

2.结点的层数以及二叉树的深度
结点层数:根结点的层数为1,其余结点的层数等于它的双亲结点加1
深度:二叉树中叶结点的最大层数定义为二叉树的深度

3.特殊的二叉树
满二叉树(所有的分支结点都存在左子树和右子树,并且所有的叶子结点都在同一层上)

完全二叉树(树中的结点从上到下,从左到右依次进行编号排序)

满二叉树一定是完全二叉树,但是完全二叉树不一定是满二叉树

三.二叉树的性质(非常重要)

1.一颗非空二叉树的第i层上最多有2^(i-1)个结点(i>=1)
2.一颗深度为k的二叉树中,最多有2^k-1个结点
3.对于一颗非空二叉树,如果叶结点数为n0,度数为2的结点数为n2,则有n0=n2+1
4.具有n个结点的完全二叉树的深度为|lbn|+1
5.对于具有n个结点的完全二叉树,如果按照从上到下和从左到右的顺序对二叉树中所有结点从1开始编号,则对于任意序号结点来说,有:
①如果i>1,则序号i的结点的双亲结点序号为i/2;如果i=1,则此时结点为根结点,无双亲结点。
②如果2i<=n,则序号为i的结点的左孩子为2i;若2i>n,则序号为i的结点无左孩子
③如果2i+1<=n,则序号为i的结点的右孩子为2i+1;如果2i+1>n,则序号为i的结点无右孩子

四.二叉树的存储结构

在数据结构中数据的物理存储结构可以分为两种,一种是顺序存储,一种是链式存储结构。所以二叉树的存储结构也有两种,即顺序存储和链式存储。

1.顺序存储结构
用一组连续的存储单元存放二叉树中的结点。一般按照二叉树结点从上至下,从左到右的顺序存储。这样做可以最大可能的节省存储空间,又可以利用数组元素下标值确定结点在二叉树中的位置,以及结点之间的关系
上述图中是一颗完全二叉树,顺序存储是比较适合完全二叉树的,但是对于一般的二叉树来说按照从上到下,从左到右依次来存储,只有先添加一些并不存在的空结点,使之成为一颗完全二叉树的形式,然后再用数组来存储,显然这样会造成大量的空间浪费,若是二叉树是一颗单支二叉树,空间的浪费更加严重。

2.链式存储结构
用链表表示一颗二叉树,用链来指示元素的逻辑关系
①二叉链表存储
对于一个任意的二叉树,每个结点最多有两个孩子,一个双亲结点,所以可以设计让每一个结点,至少包括三个域:数据域,左孩子域,右孩子域(其中数据域存放数据信息,lchild和rchild分别存放指向左孩子和右孩子的指针),当某个孩子不存在时,则域为空(用符号^或者NULL表示)
二叉链表表示:

②三叉链表存储
每个结点由四个域组成:
前面三个域和二叉链表的域意义相同,添加的parent域则用来存储指向该结点双亲结点的指针(既便于查找孩子结点,又便于查找双亲结点,缺点就是增加了空间的开销)
三叉链表表示:

上述存储结构各有各的优缺点,所以在具体应用中,可以根据二叉树的形态和具体需求来决定二叉树的存储结构

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号