【转载】地址:云中孤鹜
题目:一个具有n个节点的完全二叉树,其叶子节点的个数为多少?
分析:
设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2
侧有
n0+n1+n2=n (1)
对于二叉树有:
n0=n2+1 (2)
由(1)(2) ==>
n0=(n+1-n1)/2 (3)
由完全二叉树的性质可知:n1=0 或 1
总结:
(a):当n1=0时(即度为1的节点为0个时,此时n为奇数)或者n为奇数时
n0= (n+1)/2;
(b):当n1=1时(即度为1的节点为1个时,此时n为偶数)或者n为偶数
n0= n/2;
综合(a)(b)可得:
(结论):一个具有n个节点的完全二叉树,其叶子节点的个数n0为: n/2 向上取整,或者(n+1)/2 向下取整