设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2,必有 n0+n1+n2 = n
(1) 对于二叉树有: n0 = n2+1
(2) 由上面两式 ==> n0 = (n+1-n1)/2 ,n2 = (n-1-n1)/2
(3) 由完全二叉树的性质可知:n1 = 0 或 1
- n1=0,n为奇数时:
n0 = (n+1) / 2
- n1=1,n为偶数时:
n0 = n / 2
综上
一个具有n个节点的完全二叉树,其叶子节点的个数n0为:
n / 2 向上取整,或(n+1) / 2 向下取整
度为1的节点数为:
n为偶数:1
n为奇数:0
度为2的节点数为:
(n / 2)-1 向上取整,或((n+1) / 2)-1 向下取整
例题:
设一棵完全二叉树共有699个节点,则在该二叉树中叶子节点数为?
叶子节点数为:n0 = (699+1)/2 = 350
度为1的节点数:n1 = 0
度为2的节点数:n2 = 349