第六章 二叉树的性质

来源:互联网 发布:淘宝旺铺专业版要钱吗 编辑:程序博客网 时间:2024/06/01 13:12

性质一

在二叉树中的第i层上至多有2(i1)个结点。
第一层是根结点,只有一个,所以2(11)=20=1
第二层有两个,2(21)=21=2

通过数学归纳法,在二叉树的第i层上至多有2i1个结点。

性质二

深度为k的二叉树至多有2k1个结点,注意是2k之后再减一,而不是2k1
如果只有一层,则有211=1个结点,
如果两层,则有221=3个结点,
如果两层,则有231=7个结点,

因此如果有k层,则总共有2k1个结点。

性质三

对任何一棵二叉树,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1

证明:终端结点数其实就是叶子结点数,一棵二叉树,除了叶子结点外,剩下的就是度为1或者2的结点数了,假设度为1的结点数为n1,则树T的总结点数n=n0+n1+n2
再从边来考虑,二叉树的边数为n-1,而总边数同样等于n1+2*n2,因此n-1=n0+n1+n2=n1+2*n2,解得n0=n2+1

性质四

具有n个结点的完全二叉树的深度为log2nx表示不大于x的最大整数)。

证明:由满二叉树的定义可知,深度为k的满二叉树的结点数n一定是2k1,因为这是最多的结点个数,那么对于n=2k1倒推得到满二叉树的度数为k=log2(n+1),比如结点数为15的满二叉树,度为4。

完全二叉树是一棵具有n个结点的二叉树,其叶子结点只会出现在最下面两层。其结点数一定少于等于同样度数的满二叉树结点数2k1,但一定多于2k11。即满足2k11<n2k1。由于结点数n是整数,n2k1意味着n<2kn2k1,所以2k1n<2n,两边同时取对数,得到k1log2n<k,而k作为度数也是整数,因此k=log2n+1

性质五

如果对一棵有n个结点的完全二叉树(其深度为log2n)的结点按层序编号(从第一层到第log2n+1层,每层从左到右),对任一结点i(1in)有:
1. 如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则双亲是结点i/2
2. 如果2i>n,则结点i无左孩子(结点i为叶子结点);否则其左孩子就是结点2i
3. 如果2i+1>n,则结点i无右孩子;否则其右孩子是2i+1。
例:如下图是一个完全二叉树,度为4,总结点数为10
这里写图片描述

对于第一条是显然的,i=1时就是根结点。i>1时,比如结点7,它的双亲7/2,结点9,它的双亲就是9/2=4

第二条,比如结点6,因为2×6=12大于结点总数10,所以结点6无左孩子,它是叶子结点。而结点5,因为2×5=10刚好等于结点总数10,所以它的左孩子是结点10。

第三条,比如结点5,因为2×5+1=11,大于结点总数10,所以它无右孩子。而结点3,因为2×3+1=7小于10,所以它的右孩子是结点7。

0 0
原创粉丝点击