关于二叉树的概念和性质

二叉树具有五种基本形态:

  • 1.空二叉树
  • 2.只有一个根结点
  • 3.根结点只有左子树
  • 4.根结点只有右子树
  • 5.根结点既有左子树又有右子树

下面再简单的介绍下一些特殊的二叉树

1、斜树

所有的结点都只有左子树的二叉树叫左斜树。所有结点都是只有右子树的二叉树叫右斜树。这两者统称为斜树,斜树的每一层都只有一个结点,结点的个数与二叉树的深度相同

2、满二叉树

在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树,对于满二叉树来说其具有下面的几个特点

  • 1、叶子只能出现在最下一层。出现在其他层就不可能达成平衡
  • 2、非叶子结点的度一定是2
  • 3、在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多

3、完全二叉树

对一棵具有n个结点的二叉树按层序编号,如果编号为i(1≤i≤n)的结点与同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这棵二叉树称为完全二叉树

这里写图片描述

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

完全二叉树的所有结点与同样深度的满二叉树,它们按层序编号相同的结点,是一一对应的

完全二叉树的特点如下所示

  • 1、叶子结点只能出现在最下两层
  • 2、最下层的叶子一定集中在左部连续位置
  • 3、倒数二层,若有叶子结点,一定都在右部连续位置
  • 4、如果结点度为1,则该结点只有左孩子,即不存在只有右子树的情况
  • 5、同样结点数的二叉树,完全二叉树的深度最小

二叉树的一些性质

  • 性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)
  • 性质2:深度为k的二叉树至多有2k-1个结点(k≥1)
  • 性质3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1
  • 性质4:具有n个结点的完全二叉树的深度为|log2n+1|(|x|表示不大于x的最大整数)

如果对一棵有n个结点的完全二叉树(其深度为)的结点按层序编号(从第1层到第层,每层从左到右),对任一结点i(1≤i≤n)有下面的几个性质

  • 1.如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲是结点

  • 2.如果2i>n,则结点i无左孩子(结点i为叶子结点);否则其左孩子是结点2i

  • 3.如果2i+1>n,则结点i无右孩子;否则其右孩子是结点2i+1

二叉树的每个结点最多有两个孩子,所以为给它设计一个数据域和两个指针域,我们称链表叫做二叉链表

这里写图片描述

data是数据域,lchild和rchild都是指针域,分别存放指向左孩子和右孩子的指针

我们的二叉链表的结点结构定义如下所示

/* 二叉树的二叉链表结点结构定义 */
/* 结点结构 */
typedef struct BiTNode                  
{
    /* 结点数据 */
    TElemType data;                     
    /* 左右孩子指针 */
    struct BiTNode *lchild, *rchild;    
} BiTNode, *BiTree;

这里写图片描述

二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次

二叉树的遍历次序不同于线性结构,线性结构其实就是“从头至尾、循环、双向等简单的遍历方式

树的结点之间不存在唯一的前驱和后继关系,在访问一个结点后,下一个被访问的结点面临着不同的选择

关于二叉树的遍历其实有很多种方式,比如说前序遍历、中序遍历、后序遍历和层序遍历

先来看看前序遍历,其实就是如果二叉树为空的话,就返回空操作,否则的话就先访问根结点,然后前序遍历左子树,再前序遍历右子树,下面的访问顺序就是ABDGH-CEIF
这里写图片描述

中序遍历,规则是若树为空,则空操作返回,中序遍历根结点的左子树,然后是访问根结点,最后中序遍历右子树。下面就是二叉树遍历的顺序为:GDHBAE-ICF
这里写图片描述

后序遍历其实就是规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。访问顺序如下图所示,遍历的顺序为:GHDBIEFCA

这里写图片描述

层次遍历,规则是若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问如下图所示,遍历的顺序为:ABCDEFGHI
这里写图片描述

猜你喜欢

转载自blog.csdn.net/zcmuczx/article/details/80964659
今日推荐