一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。
1、具有n个结点的完全二叉树的深度:
[log2k]+1(注:[ ]表示向下取整)
2、如果对一棵有n个结点的完全二叉树的结点按层序编号, 则对任一结点i (1≤i≤n) 有:
如果i=1, 则结点i是二叉树的根, 无双亲;如果i>1, 则其双亲parent (i) 是结点[i/2].
如果2i>n, 则结点i无左孩子, 否则其左孩子lchild (i) 是结点2i;
如果2i+1>n, 则结点i无右孩子, 否则其右孩子rchild (i) 是结点2i+1.
3.度为1的结点个数
n为偶数:1
n为基数:0
4.度为2的结点个数
(n/2)-1向上取整
或
((n+1)/2)-1向下取整
5.叶子结点个数
n/2向上取整
或
(n+1)/2向下取整
6.有几个结点有左孩子
n为偶数:n/2
n为奇数:(n-1)/2
7.有几个结点有右孩子
n为偶数:(n/2)-1
n为奇数:(n-1)/2