完全二叉树的节点数是奇数,说明此完全二叉树也是满二叉树,也就是说每个内部节点正好都有2个叶结点。
设内部节点数为a,叶节点数为b,结点总数为m,明显有a+b=m (1)
非空满二叉树中所有节点的出度正好等于入度,每个内部节点出度为2,叶节点出度为0,所有节点的出度和为2a;根节点入度为0,其他节点的入度为1,所有节点的入度和为a+b-1;因此有2a=a+b-1 (2)
由(1),(2)得 b=(m+1)/2, a=(m-1)/2, b=a+1
也就是说,非空满二叉树的叶节点数正好比内部节点数多1
此完全二叉树的结点总数为2n-1,因此其叶结点数为n。
楼上不要误人子弟
完全二叉树的定义看这里http://baike.baidu.com/view/427107.html
完全二叉树共有2*n-1个结点
层数H=【log2(2*n-1)】+1,【】代表取整
叶节点数=(2*n-1)-(2^(H-1)-1)=2*n-2^(H-1)
是不是就是最后一行节点的个数?
设x行
那么1+2+3+...+x = 2^n-1
等号左边 可以 变成 x*(x+1)/2 大概是这个
然后 让它=2^n-1
然后求出X,那么就知道这个树有几层,因为每层节点是 2^(层数-1) 所以
最后一层的节点个数就是 2^(x-1)
叶结点是2^(n-1)个
直接暴力得出假设答案的话就是穷举,然后找规律
计算n=2 其叶子结点是2个
n=3 其叶子结点是4个
n=4 其叶子结点是8个
.......
从这可以看出n为完全二叉数的层数
其叶节点个为2,4,8,16.......
对应n=2,3,4,5
叶结点是2^(n-1)个
说明此完全二叉树是满二叉树
所以叶子树,即最后一层的数目,可根据等差数列求得,第一层1个,第二层2个,第三层四个。。。。。。,所以叶子曾2^(n-1)个