完全二叉树是一种效率很高的数据结构 。
以下是关于它的介绍 :

  • 定义:对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。

也可以理解为,除第h层外,其它各层(1~ h-1)的结点数都达到最大个数,第h层所有的结点都连续集中在最左边的二叉树。

​- 结构特点:叶子结点只可能在最大的两层上出现;对任意结点,若其右分支下的子孙最大层次为L,则其左分支下的子孙的最大层次必为L或L+1,即度为1的结点只有0个或1个。​

  • 性质:假设n是结点总数,n_0是度为0的结点总数(即叶子结点数),n_1是度为1的结点总数,n_2是度为2的结点总数,则n_0 = \lceil n/2\rceil。​

  • 存储方式:完全二叉树通常采用数组存储。

对于数组tree[i],若i>1,则其父亲节点为tree[i/2];若2i\leq n,则其左孩子为tree[2i];若2i+1\leq n,则其右孩子为tree[2i+1]。

在这里插入图片描述

更多推荐