题目:一个具有n个节点的完全二叉树,其叶子节点的个数为多少?
分析:
设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2,必有
n0+n1+n2 = n (1)
对于二叉树有:
n0 = n2+1 (2)
由上面两式 ==>
n0 = (n+1-n1)/2 (3)
由完全二叉树的性质可知:n1 = 0 或 1
总结:
由(1)(2)式衍生得到:2n2+n1+1 = n
由(3)式可知:
- n1=0,n为奇数时:
n0 = (n+1) / 2
- n1=1,n为偶数时:
n0 = n / 2
综上可得:
一个具有n个节点的完全二叉树,其叶子节点的个数n0为:
n / 2 向上取整,或(n+1) / 2 向下取整
转自:http://blog.youkuaiyun.com/yunzhongguwu005/article/details/9224031