性质 1

在二叉树的第 i 层最多有 2i-1 个结点(i >= 1)。
  • 第一层最多有 21-1 = 1 个结点
  • 第二层最多有 22-1 = 2 个结点
  • 第二层最多有 23-1 = 4 个结点
  • ...

image.png

性质 2

高度为 k 的二叉树最多有 2k-1 个结点(k >= 0)。
  • 如果有一层,最多有 1 = 21-1 = 1 个结点
  • 如果有两层,最多有 1 + 2 = 22 - 1 = 3 个结点
  • 如果有三层,最多有 1 + 2 + 4 = 23 - 1 = 7 个结点
  • ...

性质 3

对任何一颗二叉树,如果其叶节点有 n0 个,度为2的非叶节点有 n2 个,则有 n0 = n2 + 1。

证明:
假设二叉树中度1的结点有 n1 个且总结点为 n 个,则:
n = n0 + n1 + n2

假设二叉树中连接父节点与子节点间的边为 e 条,则:
e = n1 + 2n2(从下到上看)
e = n - 1 = n0 + n1 + n2 - 1 (从上到下看)

所以:
n0 = n2 + 1

871853-20180923144713738-1396731866.png

性质 4

具有 n 个结点的完全二叉树的高度为 ⌊log2n⌋ + 1 (⌊x⌋ 表示不大于 x 的最大整数)

证明:
假设这 n 个结点组成的完全二叉树高度为 k, 则:
2k-1-1 < n ≤ k-1

因为 n 为整数,所以:
2k-1 ≤ n < 2k

取对数:
k-1 ≤ log2n < k

因为 k 为整数,所以:
k = ⌊log2n⌋ + 1

性质 5

一颗具有 n 个结点的完全二叉树(高度为⌊log2n⌋ + 1),按层次对结点进行编号(从上到到下,从左到右),对任意结点 i 有:
  • 如果 i = 1, 则结点 i 是二叉树的根结点
  • 如果 i > 1, 则双亲结点为 ⌊i/2⌋
  • 如果 2i <= n , 则结点 i 的左孩子为 2i
  • 如果 2i > n, 则结点 i 无左孩子
  • 如果 2i + 1 <= n, 则结点 i 的右孩子为 2i+1
  • 如果 2i + 1 > n, 则结点 i 无右孩子

以上内容整理于狄泰软件学院系列课程,请大家保护原创!


TianSong
737 声望139 粉丝

阿里山神木的种子在3000年前已经埋下,今天不过是看到当年注定的结果,为了未来的自己,今天就埋下一颗好种子吧