编写函数计算度为i的结点数目_计算机二级选择题二叉树性质

前言

应后台小伙伴们的要求,去木这次把【二叉树】的问题再阐开唠一唠

因为二叉树的公式表述中有很多的指数,

去木技术有限,不知道怎么把他们呈现给大家,所以就用填空代替了,

大家刚好可以对着导图检验一下自己的公式都记住了没有。

废话不多说,我们直接开始吧

二叉树

去木惯例,思维导图给大家奉上,然后一个一个慢慢说

c42dfcc1a62f1721e6d0f01c0cdc66fe.png

是什么

引入一个问题,大家觉得【二叉树】为什么要叫【二叉树】?

1cbaf796a21c80133706d1582c9fbdbd.png

我们做一个简单的拆解—二叉·

拓展一下语句:最多有两个分支的·

瞧瞧这二叉树,长得多么规整俊俏

0b8af60cc013b1b6b73319516ca6d141.png

这不,顺带连满二叉树都带出来了

现在的生活成本这么高,能养得起两个孩子就不错了,

听说韩国都成了世界首个零出生率的国家了。

7549397384f928491a9fbbd8532249ae.png

能顺利出生,真好。

a7d69b0e1eba993a2b1e9bf046197940.png

还要什么自行车儿

顺带说一下官方的二叉树解释(跳过不看系列)

每一层上的所有结点都有两个子结点

解释一下度、节点、子节点

f50fd351f51d5fa9f82be94a78d52594.png

图片来源于【有道精品课小黑课堂计算机二级】

这个度,通俗点来说就是【几世同堂】

从上往下数,有几代就是几个深度

显然这个满二叉树的度就是3了

网上找的一个例子:

92616ce020b45805ca26b1231b804a33.png

eb145bcc1cf417090b7ea7119265f217.png

这个的深度就是5咯

还是挺好理解的吧

节点

节点:【这一代一共生了几个孩子】

还是拿小黑课堂计算机二级的图来给大家举例

第二代生了两个孩子,所以有两个节点

d2c2e8a372c51f615e775e82cc64fde3.png

1ff154fec73cec46cf6a02ec08288f8a.png

第三代一共生了四个孩子,

所以一共有四个节点

如此,

就引出了二叉树的第一个性质:

在二叉树的第K层上,最多有2K-1  (K>=1)个节点

在这个公式中K-1是幂,大家注意了

你答对了吗?或者说,你还记得这个公式吗?

a143d397acebeb070d97c7f6f30e54a8.png

第二个性质多了一个限定条件:

深度为m的二叉树最多有2m-1个节点

在这个公式中,m是幂,大家注意了

子节点

简单翻译:在这一代中的这对“合二为一”的“夫妇”真实地生养了几个“子女”

799a6d585743e96fd030dfb750b75782.png

如图所示,B是一对“合二为一”的夫妇,C也是一对“合二为一”的“夫妇“

也就是说,E、F是B的子节点,G、H是C的子节点

而E、F、G、H并没有自己的“下一代”,

也就是说,

他们是度为0的节点,我们也把他们叫做【叶子节点】

如此,第三个和第四个性质已经赶来了

在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个

还是这个图

f50fd351f51d5fa9f82be94a78d52594.png

没有“下一代”的,度为0的节点分别是E、F、G、H

有两个“下一代”的,度为2的节点分别是A、B、C(千万不要忘记A噢)

如此4-3=1,性质成立

也许大家会说,一个例子有特殊性,那大家可以自己拿出纸笔画几个二叉树,来验证一番,这里版面有限,就不做过多的阐释了

性质四:具有n个节点的二叉树,其深度至少为log2n+1,其中,log2n表示取log2n的整数部分

给大家翻译一下这个性质:

当你知道这个大家族一共有几个“下一代”的时候,那么这个家族是“【几世同堂】

也就是我们认为的知道结论求已知

真题演练

性质讲的差不多了,来两个真题看看究竟学会了没有

cf7306b397beed41b0fdc5ac7cb7cf50.png

其实这种题不难,把它当成小学的一元一次方程利用二叉树的性质就能轻松解决

f4abcea03bf53cac7a3517f53f982958.png

来看看去木是怎么做的吧

611bcebc11f21b92ab7ea2d3497044e7.png

一个二叉树,

有度为1的节点,

度为2的节点

和度为0的节点

因为就算是满二叉树,它也只能有2个节点,不可能出现一个有三个节点的“合二为一“的夫妇

题目已知度为1的节点有40个,

把度为0的节点假设有X个,

二叉树的性质(在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个)

可假设度为2的节点有X-1个

这三个节点加在一起就是总的140个节点

建立方程

X+X-1+40=140,解得X=70.5,X不是整数

所以,不可能有这样的二叉树。

fee2781fa26499d6c9f437beb6a7f32f.png

这道题计算就更简单了,只是思维稍微要绕一下

仔细看噢

f4abcea03bf53cac7a3517f53f982958.png

一个二叉树,只能有度为0,度为1,度为2的节点,

且根节点有且只有一个,抛去根节点之外,还剩下124个节点

adc54c922b4c668709f8c92377808f16.png

也就是说,剩下的节点必须满足偶数个,这124个节点才有可能成立

为什么这么说呢,

因为一个度如果填不满,是不可以开始下一个度的,

92616ce020b45805ca26b1231b804a33.png

比如这张图,如果,B只有1个节点,或者C只有一个节点,

那么H、I、J、K……是不可能存在的

而124是2的倍数,所以,如果有根为1的节点,那就会破坏整个二叉树的平衡,结点不会再是2的整数倍,124也就不复存在了。

因此,在这个二叉树中,不存在度为1的节点

如此,和上一道题一样,设度为0的节点有X个

度为1的节点不存在,

设度为2的节点有X-1个就好啦

如此:X+X-1=125,

解得X=63,选D

关于你

我是去木 来这里 每个月给自己一个创造机会的机会。 关注我获取二级MS office考试大礼包 别怕难,你那么上进,一定会有美好的事情发生 明天见                                                                                                                           b974173ba93d4ddb478580c40eceece4.png                                  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值