性质 1
在二叉树的第 i 层最多有 2i-1 个结点(i >= 1)。
- 第一层最多有 21-1 = 1 个结点
- 第二层最多有 22-1 = 2 个结点
- 第二层最多有 23-1 = 4 个结点
- ...
性质 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
性质 4
具有 n 个结点的完全二叉树的高度为 ⌊log2
n⌋ + 1 (⌊x⌋ 表示不大于 x 的最大整数)
证明:
假设这 n 个结点组成的完全二叉树高度为 k, 则:
2k-1-1 < n ≤ k-1
因为 n 为整数,所以:
2k-1 ≤ n < 2k
取对数:
k-1 ≤ log2
n < 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 无右孩子
以上内容整理于狄泰软件学院系列课程,请大家保护原创!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。