二叉树的性质
Ⅰ 在二叉树的第 i 层至多有 2i-1 个结点(i >= 1)
第一层是根结点,只有 1 个,所以 21-1 = 20 = 1
第二层有 2 个, 22-1 = 21 = 2
第三层有 4 个, 23-1 = 22 = 4
第四层有 8 个, 24-1 = 23 = 8
......
通过数据归纳法的论证,可以得出二叉树的第 i 层上至多有 2k-1 个结点( i >= 1 )的结论
Ⅱ 深度为 k 的二叉树至多有 2k-1 个结点(k >= 1)
深度为 k 的二叉树
如果 k = 1 ,结点数至多为 21 -1 = 1
如果 k = 2 ,结点数至多为 22 -1 = 3
如果 k = 3 ,结点数至多为 23 -1 = 7
如果 k = 4 ,结点数至多为 24 -1 = 15
......
通过数据归纳法的论证,可以得出,深度为 k 的二叉树,结点数至多为 2k-1
Ⅲ 任何一棵二叉树中,如果其叶子结点数为 n0 ,度为 2 的结点数为 n2 ,则 n0 = n2 + 1
一颗二叉树中,除了叶子结点外,剩下的就是度为 1 或 2 的结点了,设 度为 1 的结点数为 n1 ,则二叉树结点总数为 n = n0 + n1 + n2
一颗二叉树的分支线总数为结点总数减去 1 (根结点只有分支出去,没有分支进入), 分支总数代数表达式为 n - 1 = n1 + 2n2
根据结点总数和分支总数可推导出等式 n0 + n1 + n2 - 1 = n1 + 2n2
最终可推导得出 n0 = n2 + 1
Ⅳ 具有 n 个结点的完全二叉树的深度为 ⌊log2n⌋ + 1 ( ⌊x⌋ 表示不大于 x 的最大整数)
根据二叉树的定义可知,深度为 k 的满二叉树的结点数 n 一定是 2k - 1 ,因为这是最多的结点数
那么对于 n = 2k - 1 倒推可知满二叉树的度为 k = log2( n+1)
完全二叉树的结点数一定小于等于同样度数的满二叉树的结点数 2k - 1 ,但一定多于 2k-1 - 1 ,即满足 2k-1 - 1 < n <= 2k - 1
由于结点 n 是整数,n <= 2k - 1 意味着 n < 2k ,n > 2k-1 - 1 意味着 n >= 2k-1 ,所以 2k-1 <= n < 2k ,不等式两边取对数 k - 1 <= log2n < k ,而k作为度数也是整数,因此 k = ⌊log2n⌋ + 1
Ⅴ 具有 n 个结点的完全二叉树(其深度为 ⌊log2n⌋ + 1 )的结点按层序编号(从第 1 层到第 ⌊log2n⌋ + 1 层,每层从左到右),对任一结点 i ( 1 <= i <= n ),有如下性质:
1.如果 i = 1 ,则结点 i 是二叉树的根,无双亲;如果 i > 1 ,则双亲是结点 ⌊i / 2⌋
2.如果 2i > n ,则结点 i 无左孩子(结点 i 为叶子结点);如果 2i <= n ,则结点 i 左孩子是结点 2i
3.如果 2i + 1 > n ,则结点 i 无右孩子;如果 2i + 1 <= n ,则结点 i 右孩子是结点 2i + 1
Ⅵ 具有 n 个结点的完全二叉树( n > 1 ),从结点 1 到结点 ⌊n / 2⌋ 都是非叶子结点;结点 ⌊n / 2⌋ 可能是根结点,也可能是左孩子,也可能是右孩子;结点 ⌊n / 2⌋ 后面都是叶子结点