题目:已知一个完全二叉树的结点数为770,问完全二叉树的叶子结点数为多少?
声明:本人只是一个初学者,如果解答有问题,请指正
说明:结点的编号从1开始编号,层数也是从1开始编号
解题思路:
一、根据二叉树和完全二叉树的性质:
1.在二叉树的第i层最多有2的(i-1)次方
2.具有n个结点的完全二叉树的深度为(log2n)+1
3.如果第i个结点(i>1),则其双亲结点为[i/2]
4.完全二叉树的叶子结点在最后一层或最后两层
二、
此完全二叉树的深度为:(log770)+1=12
第770个结点的父结点为770/2=385
因为最后一个结点为偶数,所以第385个结点只有一个左孩子
故此二叉树不是满二叉树,故叶子在倒数第一、二层
倒数第二层(即第11层)的第一个结点编号为2的(11-1)次方=256
因为是完全二叉树,故倒数第二层的结点数达到最多状态:
2的(11-1)次方=256个结点
在倒数第二层结点中拥有孩子的个数为:
385-256+1=130
故在倒数第二层的叶子数为:
256-130=126
最后一层的叶子数为:
130*2-1=259(减去1是因为第385个结点只有一个左孩子)
故叶子数为:126+259=385