二叉树的性质

Ⅰ 在二叉树的第 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 ,则 n0n+ 1

  一颗二叉树中,除了叶子结点外,剩下的就是度为 1 或 2 的结点了,设 度为 1 的结点数为 n1 ,则二叉树结点总数为 n = n0 + n1 + n

  一颗二叉树的分支线总数为结点总数减去 1 (根结点只有分支出去,没有分支进入), 分支总数代数表达式为 n - 1 = n1 + 2n2 

  根据结点总数和分支总数可推导出等式 n0 + n1 + n2 - 1 =  n1 + 2n2 

  最终可推导得出 n0 = n+ 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 层,每层从左到右),对任一结点 i1 <= 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⌋ 后面都是叶子结点

posted @ 2020-01-03 11:02  二是一种不三不亖的范  阅读(361)  评论(0编辑  收藏  举报