前言
应后台小伙伴们的要求,去木这次把【二叉树】的问题再阐开唠一唠
因为二叉树的公式表述中有很多的指数,
去木技术有限,不知道怎么把他们呈现给大家,所以就用填空代替了,
大家刚好可以对着导图检验一下自己的公式都记住了没有。
废话不多说,我们直接开始吧
二叉树
去木惯例,思维导图给大家奉上,然后一个一个慢慢说
是什么
引入一个问题,大家觉得【二叉树】为什么要叫【二叉树】?
我们做一个简单的拆解—二叉·树
拓展一下语句:最多有两个分支的·树
瞧瞧这二叉树,长得多么规整俊俏
这不,顺带连满二叉树都带出来了
现在的生活成本这么高,能养得起两个孩子就不错了,
听说韩国都成了世界首个零出生率的国家了。
能顺利出生,真好。
还要什么自行车儿
顺带说一下官方的二叉树解释(跳过不看系列)
每一层上的所有结点都有两个子结点
解释一下度、节点、子节点
度
图片来源于【有道精品课小黑课堂计算机二级】
这个度,通俗点来说就是【几世同堂】
从上往下数,有几代就是几个深度
显然这个满二叉树的度就是3了
网上找的一个例子:
这个的深度就是5咯
还是挺好理解的吧
节点
节点:【这一代一共生了几个孩子】
还是拿小黑课堂计算机二级的图来给大家举例
第二代生了两个孩子,所以有两个节点
第三代一共生了四个孩子,
所以一共有四个节点
如此,
就引出了二叉树的第一个性质:
在二叉树的第K层上,最多有2K-1 (K>=1)个节点
在这个公式中K-1是幂,大家注意了
你答对了吗?或者说,你还记得这个公式吗?
第二个性质多了一个限定条件:
深度为m的二叉树最多有2m-1个节点
在这个公式中,m是幂,大家注意了
子节点
简单翻译:在这一代中的这对“合二为一”的“夫妇”真实地生养了几个“子女”
如图所示,B是一对“合二为一”的夫妇,C也是一对“合二为一”的“夫妇“
也就是说,E、F是B的子节点,G、H是C的子节点
而E、F、G、H并没有自己的“下一代”,
也就是说,
他们是度为0的节点,我们也把他们叫做【叶子节点】
如此,第三个和第四个性质已经赶来了
在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个
还是这个图
没有“下一代”的,度为0的节点分别是E、F、G、H
有两个“下一代”的,度为2的节点分别是A、B、C(千万不要忘记A噢)
如此4-3=1,性质成立
也许大家会说,一个例子有特殊性,那大家可以自己拿出纸笔画几个二叉树,来验证一番,这里版面有限,就不做过多的阐释了
性质四:具有n个节点的二叉树,其深度至少为log2n+1,其中,log2n表示取log2n的整数部分
给大家翻译一下这个性质:
当你知道这个大家族一共有几个“下一代”的时候,那么这个家族是“【几世同堂】
也就是我们认为的知道结论求已知
真题演练
性质讲的差不多了,来两个真题看看究竟学会了没有
其实这种题不难,把它当成小学的一元一次方程利用二叉树的性质就能轻松解决
来看看去木是怎么做的吧
一个二叉树,
有度为1的节点,
度为2的节点
和度为0的节点
因为就算是满二叉树,它也只能有2个节点,不可能出现一个有三个节点的“合二为一“的夫妇
题目已知度为1的节点有40个,
把度为0的节点假设有X个,
二叉树的性质(在任意一棵二叉树中,度为0的结点(即叶子结点)总比度为2的结点多一个)
可假设度为2的节点有X-1个
这三个节点加在一起就是总的140个节点
建立方程
X+X-1+40=140,解得X=70.5,X不是整数
所以,不可能有这样的二叉树。
这道题计算就更简单了,只是思维稍微要绕一下
仔细看噢
一个二叉树,只能有度为0,度为1,度为2的节点,
且根节点有且只有一个,抛去根节点之外,还剩下124个节点
也就是说,剩下的节点必须满足偶数个,这124个节点才有可能成立
为什么这么说呢,
因为一个度如果填不满,是不可以开始下一个度的,
比如这张图,如果,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考试大礼包 别怕难,你那么上进,一定会有美好的事情发生 明天见