告诉了一棵完全二叉树的总结点个数,求叶子结点个数怎么计算?
问题描述:
告诉了一棵完全二叉树的总结点个数,求叶子结点个数怎么计算?
设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点个数为?怎么计算,
答
首先需要求出这棵树的深度.也就是说这棵树有多少层.
完全二叉树有一个性质: 具有n个结点的完全二叉树的深度为log2n(2是下标)+1.
根据这个性质,就可以求得完全二叉树的深度为10
10层满二叉树的总结点数为1023,最后一层的结点数应该是2的9次方为512,所以肯定699个结点肯定不是满二叉树.叶子节点出现在最后两层上.
最后一层叶子结点个数为:699-(1023-512)=188
倒数第二层的叶子节点数为: (512-188)/2=162
叶子总数应该是:188+162 = 250
不确定有没有算对.大概思路应该是这样的.希望对你有帮助.仍有问题可以HI我.