• 一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有多少个节点和最少有多少个节点


    答案

    一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有 487 487 487个节点和最少有 139 139 139个节点。


    完全二叉树

    在这里插入图片描述
    定义:一棵深度为 k k k的有 n n n个节点的二叉树,对树中的节点按从上至下、从左到右的顺序进行编号,如果编号为 i ( 1 ≤ i ≤ n ) i(1≤i≤n) i1in的结点与满二叉树中编号为 i i i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

    直观理解:
    完全二叉树的节点数是任意的,从形式上讲它是个缺失的三角形,但所缺失的部分一定是右下角某个连续的部分最后那一行可能不是完整的,倒数第二行一定是完整的


    结果计算过程

    由二叉树的性质可知,第七层(根节点为第0层)如果满的话,一共有 128 128 128个节点。
    12 < 128 12<128 12<128,结合完全二叉树性质,该完全二叉树只有两种情况,只有 7 7 7层或者只有 8 8 8

    最少

    该完全二叉树只有 7 7 7层对应的情况为该12个叶子节点为第七层最靠近左边的叶子节点
    此时该完全二叉树一直到第6层都是满的,第七层有12个节点,且全为叶子节点。

    此时该完全二叉树的节点总数为: ∑ = 1 + 2 + 4 + . . . + 64 + 12 = 139 \sum=1+2+4+...+64+12=139 =1+2+4+...+64+12=139.

    最多

    该完全二叉树只有 8 8 8层对应的情况为该12个叶子节点为第七层最靠近右边的叶子节点,该层的左边的节点均为非叶子节点
    此时该完全二叉树一直到第7层都是满的,第八层有 ( 128 − 12 ) × 2 (128-12)\times2 (12812)×2个节点,且全为叶子节点。

    此时该完全二叉树的节点总数为: ∑ = 1 + 2 + 4 + . . . + 64 + 128 + ( 128 − 12 ) × 2 = 487 \sum=1+2+4+...+64+128+(128-12)\times2=487 =1+2+4+...+64+128+(12812)×2=487.


    公式归纳总结

    这类题型还是不要归纳总结的太远

    知道为什么就可以了,自己推一遍总归是好的。

  • 相关阅读:
    Mysql Join 多条件的小坑
    长篇图解etcd核心应用场景及编码实战
    『LeetCode|每日一题』---->按摩师
    HK32F030MF4P6 红外遥控接收例程
    文件包含漏洞和hash破解
    python企业编码管理的程序(附源码)
    2023.10.19
    环模制粒机设计(说明书+CAD)
    第十四届蓝桥杯模拟赛(第三期)Excel表
    2014年下半年 系统架构设计师 下午论文
  • 原文地址:https://blog.csdn.net/weixin_45798993/article/details/127943174