答案
一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有 487 487 487个节点和最少有 139 139 139个节点。
完全二叉树
定义:一棵深度为
k
k
k的有
n
n
n个节点的二叉树,对树中的节点按从上至下、从左到右的顺序进行编号,如果编号为
i
(
1
≤
i
≤
n
)
i(1≤i≤n)
i(1≤i≤n)的结点与满二叉树中编号为
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
(128−12)×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+(128−12)×2=487.
公式归纳总结
这类题型还是不要归纳总结的太远
知道为什么就可以了,自己推一边总归是好的。