笔记:关于完全二叉树


关系


n0:完全二叉树中的叶子结点数
n1:完全二叉树中有1个孩子的结点数
n2:完全二叉树中有2个孩子的结点数
d:完全二叉树中的非叶子结点数

1.总结点数为:

证明如下:
有n个结点的完全二叉树总共会有n-1条边,每个“有2个孩子“的结点都会延伸出2条边,每个“有1个孩子”的结点会延伸出1条边,叶子结点不会延伸边,则由边的数量关系可以得到式子

然后移项后就可得n = n1 + 2 * n2 + 1

2.完全二叉树的非叶子结点数为:

证明如下:
n = n1 + 2 * n2 + 1

  • 当n为奇数时
  • 当n为偶数时

而d必是整数,也就是说

3.如果结合n = n0 + n1 + n2n = n1 + 2 * n2 + 1,还可以得到

4.完全二叉树的深度为:

原因:
深度为h的完全二叉树至多有2h-1个结点,即

而深度h必是一个整数,所以完全二叉树的深度为