• 二叉树的性质


    Ⅰ 在二叉树的第 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⌋ 后面都是叶子结点

  • 相关阅读:
    对小数的自定义位数进行四舍五入
    【leetcode 简单】第四十题 求众数
    【leetcode 简单】第三十九题 Excel表列名称
    【leetcode 简单】第三十八题 两数之和 II
    【leetcode 简单】第三十七题 相交链表
    【leetcode 简单】第三十六题 最小栈
    【leetcode 简单】 第三十五题 环形链表
    【leetcode 简单】第三十四题 只出现一次的数字
    【leetcode 简单】第三十三题 验证回文串
    【leetcode 简单】第三十二题 买卖股票的最佳时机Ⅱ
  • 原文地址:https://www.cnblogs.com/SmallAndGreat/p/12143821.html
Copyright © 2020-2023  润新知