【数据结构】之二叉树的5个性质

二叉树性质1

性质1:在二叉树的第i层上至多有2i-1个结点(i>=1)。
如图1-1的二叉树。
第一层的结点是根结点,只有一个,所以21-1 = 20=1。
第二层有两个结点,所以22-1 = 21=2。
第三层有四个结点,所以23-1 = 22=4。
第四层有八个结点,所以24-1 = 23=8。
在这里插入图片描述

图1-1

通过数据归纳法的论证,可以很容易得出在二叉树的第i层上至多有2 i-1(i>=1)个结点的论证。

二叉树性质2

性质2:深度为k的二叉树至多有2k-1个结点(k>=1)。
这里一点要看清楚,是2k后在减去1。
深度为k的意思就是说有k层的二叉树。
如果有一层,至多有1=20-1个结点。
如果有二层,至多有1+2=3=22-1个结点。
如果有三层,至多有1+2+4=7=23-1个结点。
通过数据归纳法的论证,可以得出,如果有k层,此二叉树至多有2k-1个结点。

二叉树性质3

性质3:对于任何一颗二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
终端结点数就是叶子结点数,除了叶子结点外,剩下的就是度为1或2的结点数了,我们设n1为度是1的结点数。则树T的结点总数n=n0+n1+n2
如下图1-2的例子,结点数为10,他是由A,B,C,D等度为2结点,F,G,H,I,J等度为0的叶子结点和E这个度为1的结点组成。总和为4+1+5=10。
在这里插入图片描述

图1-2

我们换个角度,在数一数它的连接线数,由于根结点只有分出去,没有分支进入,所以分支线总数为结点总数在减去1,。图1-2就是有9个分支。对于A,B,C,D结点来说,他们都有两个分支线出去,而E结点只有一个分支线出去,所以总分支线为4 * 2 + 1*1=9。
用代数表达就是分支总数=n-1=n 1+2n 2。因为刚才我们有等式n=n 0+n 1+n 2,所以可以推导出n 0+n 1+n 2-1=n 1+2n 2

二叉树性质4

性质4:具有n个节点的完全二叉树深为log2x+1(其中x表示不大于n的最大整数)。
由满二叉树的定义我们可以知道,深度为k的满二叉树的结点数n一定是2k-1。因此这是最多的结点个数。那么对于n=2k-1推导得出满二叉树的度为k=log2(n+1),比如结点数为15的满二叉树,度为4。
完全二叉树,是一颗具有n个结点的二叉树,按层序编号后其编号后其编号与同样深度的满二叉树中编号结点在二叉树中位置完全相同,那它就是完全二叉树,也就是说,它的叶子结点只会出现在最下面的两层。
它的结点数一定少于等于同样度数的满二叉树的结点数2k-1,但是一定多于2k-1-1。即满足2k-1-1<n<=2k-1。由于结点数n是正整数,n<=2k-1意味着n<2k,n>2k-1-1,意味着n>=2k-1,所以2k-1<=n<2k,不等式两边取对数,得到k-1=<log2n<k,而k作为度数也是整数,因此k=[log2n]+1。

二叉树性质5

性质5:如果对一颗有n个结点的完全二叉树(其深度为[log2n]+1)的结点按层序编号(从第一层到[log2n]+1层,每层从左到右),对任一结点i(1<=i<=n):
(1)如果i=1,则结点i是二叉树的根,无双亲,如果i>1,则其双亲结点是结点[i/2]
(2)如果2i>n,则结点i无左孩子(结点i为叶子结点)否则左孩子是结点2i。
(3)如果2i+1>n,则结点i无右孩子,否则其右孩子是结点2i+1.

  • 29
    点赞
  • 116
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值