1. 若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2\*(i-1)个结点。
2. 若规定根节点的层数为1,则深度为h的二叉树的结点数最多是2\*h-1。
3. 对于任何二叉树,叶节点数n0=分支节点数n2+1;
4. 若规定根节点的层数为1,具有n个结点的满二叉树的深度,h=log(n+1) (ps:是log以2为底,n+1为对数)
5. 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对于序号为i的结点有:
- 若i>0,i位置节点的双亲序号:(i-1)/2;i=0,i为根节点编号,无双亲节点
- 若2i+1<n,左孩子序号:2i+1,2i+1>=n否则无左孩子
- 若2i+2<n,右孩子序号:2i+2,2i+2>=n否则无右孩子
6. 若完全二叉树的节点数量为 n ,则叶节点数量为 (n+1)/2,分支节点数量为(n-1)/2 。(在采用向下调整的建堆方式中,需要堆化的节点数量为 (n−1)/2 。)
7. 完全二叉树的总节点数为n,则树枝(两个节点之间的连线)数为n-1。(除了根节点外,每一个节点向上对应一条树枝)
证明3:
我们设度为0、1、2的节点数分别为n0、n1、n2,则n=n0+n1+n2,则总树枝数=n0+n1+n2-1;
又因为度为1和度为2的节点数分别为n1、n2,所以总树枝数=n1+n2\*2=n0+n1+n2-1;
即n0=n2+1;
证明6:
由“证明3”易得:
n0+n1+n0-1=n,n0=(n-n1+1)/2 ;
n2+1+n1+n2=n,n2=(n-n1-1)/2;
又因为n1=1或0,当n1为1时,n为偶数,当n1为0时,n为奇数,所以n-n1为奇数,n-n1+1和n-n1-1为偶数。
n1=1时,n0=n/2=(n+1)/2(此时n为偶数);n1=0时,n0=(n+1)/2(n为奇数)。
同理:
n1=1时,n1=(n-2)/2=(n-1)/2(此时n为偶数);n1=0时,n0=(n-1)/2(n为奇数)。
总结,不论n为奇数还是偶数,n0=(n+1)/2,n2=(n-1)/2。