性质1: 在二叉树的第 i 层上最多只有 2^(i-1) 个结点;
性质2:深度为 k 的二叉树至多有 2^k - 1 个结点 ;
性质3:对于任何一课二叉树,结点总数为 n 个 ,如果其叶子结点数为 n(0) 个 ,度为1的结点有 n(1) 个,度为2的结点有 n(2) 个 ,则:
n = n(0) + n(1) + n(2) ; (加法原理)
若假设B为分支的总数:则有: n = B + 1 , B = n(1) + 2*n(2) ; (加法原理,分支总数等于度为1的数目+ 2*度为2的数目);
所以可以得到: n = n(1) + 2 * n(2) + 1 ;
n(0) = n(2) + 1 ;
性质4:具有n个结点的完全二叉树的深度为floor(log(2)n)+ 1 ;
假设深度为k,则: 2^(k-1)-1 < n <= 2^(k) - 1 ;
2^(k-1) =< n <2^(k) ;
k-1 <=log(2)n < k ;
因为k为整数,所以k = floor( log(2)n ) + 1 ;
性质5:如果对一颗有n个结点的完全二叉树(其深度为floor(log(2)n)+1)的结点按层序从1开始编号。则对任一编号为 i 的结点,有:
(1)如果i = 1 ;,则编号为 i 的结点是二叉树的根,无双亲,如果i > 1 , 则其双亲结点的编号为floor(i / 2) ;
(2)如果2*i > n ; 则编号为 i 的结点是叶子结点,否则其左孩子结点编号为2*i 。
(3)如果2*i + 1 > n ,则编号为 i 的结点无右孩子结点,否则其右孩子结点的编号为2*1 + 1 ;