完全二叉树叶子节点、度为1节点、度为2节点的个数关系
设总节点个数为n,叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2,则必有 n0+n1+n2 = n …(①)
(1) 对于二叉树有: n0 = n2+1…(②) (为什么呢?下面证明一下)
【注】(1)这个规律是所有二叉树的规律,不是完全二叉树所特有的规律。
(2) 由上面(①) (②)两式 —> n0 = (n-n1+1)/2 ,n2 = (n-n1-1)/2
- n1=0,n为奇数时:n0 = (n+1) / 2
- n1=1,n为偶数时:n0 = n / 2
综上
一个具有n个节点的完全二叉树,
1、其叶子节点的个数n0为:n / 2 向上取整,或(n+1) / 2 向下取整
2、度为1的节点数为:
- n为偶数:1
- n为奇数:0
3、度为2的节点数为:(n / 2)-1 向上取整,或((n+1) / 2)-1 向下取整
例题:
设一棵完全二叉树共有699个节点,则在该二叉树中叶子节点数为?
叶子节点数为:n0 = (699+1)/2 = 350
度为1的节点数:n1 = 0
度为2的节点数:n2 = 349