二叉树的几个基本性质

1,050 阅读2分钟

在二叉树的第i层上至多有2^(i-1)个结点

简单论证:满二叉树是每一层结点最多的二叉树。其根节点在第一层,其结点数为2^(1-1)=1,第二层的结点数为2^(2-1)=2,第三层的结点数位2^(3-1)=4...以此类推,很容易知道,第i层最多有2^(i-1)个结点。

深度为k的二叉树上至多含(2^k)-1个结点

简单论证:满二叉树依然是结点最多的情况。依据上面的性质,深度为1时,二叉树的结点数为(2^1)-1=1;深度为2时,二叉树的结点数为(2^2)-1=3;深度为3时,二叉树的结点数位(2^3)-1=7...以此类推,可知,深度为k的二叉树上至多含(2^k)-1个结点。

具有n个结点的完全二叉树的深度为log2n」(对log2n进行向下取整)+1

简单论证:由第二条性质,我们可以知道深度为k的完全二叉树的结点数n满足(2^(k-1))-1<n<=(2^k)-1,进一步可得(2^(k-1))<=n<(2^k),对不等式取对数,可得k-1<=log2n<k,由此我们可得k-1=log2n」(对log2n向下取整),即k=log2n」(对log2n向下取整)+1

对任何一棵二叉树,若它含有n0个叶子结点,n2个度为2的结点,则必存在关系式:n0=n2+1

简单论证:假设n1表示度为1的结点,n表示二叉树的总结点,b表示二叉树的分支数。很明显,n=b+1,n=n0+n1+n2,即b+1=n0+n1+n2。而度为1的结点产生一个分支,度为2的结点产生2个分支,度为0的结点产生0个分支。因此b+1=n1+2n2+1。进而可得,n0+n1+n2=n1+2n2+1,最终得n0=n2+1

若对含n个结点的完全二叉树从上到下且从左到右进行1至n的编号,则对二叉树中任意一个编号为i的结点:

(1)若i==1,则该结点是二叉树的根,无双亲。否则,编号为i/2」(向下取整)的结点为其双亲结点。
(2)若2i>n,则该结点无左孩子。否则,编号为2i的结点为其左孩子结点。
(3)若2i+1>n,则该结点无右孩子结点。否则,编号为2i+1的结点为其右孩子结点。