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

答案

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


完全二叉树

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

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


结果计算过程

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

最少

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

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

最多

该完全二叉树只有8 88层对应的情况为该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.


公式归纳总结

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

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


版权声明:本文为weixin_45798993原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。