欢迎光临散文网 会员登陆 & 注册

树结构

2022-05-04 11:34 作者:游侠翻滚  | 我要投稿

树是一个程序中算是很难的知识点了,up在这里讲解一下,希望能帮助大家打字辛苦,点一个免费的赞吧

认识树结构

认识树

树结构呢有很像下面的图片一样,由主干到分支

主干→分支

接下来我们在了解一下树

认识树

结点就是树中的每一个元素:1,2,3,4,5,6,7,8

根节点就是整棵树的起始结点:1

子树可以看成整棵树中的小树,比如2,5,6就是整棵树的小树即子树

 

然后呢我们在认识一下树的概念。

树的概念

比如在整棵树中1是根节点,而2,5,6这个小树的根节点则是2.

度:1.比如1的度为3,即2,3,4。    再比如2的度为2,即5,6。      

       2.像5,6,3,8这种没有度的结点,我们称之为叶结点。     

       3.那这个数的度为多少?我们依照第3点可以看出,这棵树结点最多的是1,有3个度,所以这棵树的度就为3。

深度:这个就很好理解了,从上往下数,分别有125 (3),126 (3),13 (2),1478 (4),而1478的层次是最多的,所以这棵树的深度就是4

学到这里,你已经掌握了关于树的基本结构。加油,继续看下去

接下来是重点内容——二叉树


认识二叉树

二叉树即BT树,额,还真就很形象呢


5种基本形态
基本形态

空二叉树:没有任何结点

上面的内容还是比较简单的,现在我们再来看看二叉树的特点

二叉树的特点(1)

我们来验证一下

二叉树的特点(1)验证

第一行:结点数=2^(1-1)=2^0=1

第二行:结点数=2^(2-1)=2^1=2

第三行:结点数=2^(3-1)=2^2=4

第四行:结点数=2^(4-1)=2^3=8

。。。

综上所述在二叉树的第i层最多有2^(i-1)

所以我们的结果是对的

我们再来看看第二个特点(公式)

二叉树的特点(2)

老样子,没有验证怎么可以直接说出来呢?

二叉树的特点(2)验证

深度为k这里我们来看一下以下4种情况:

1.当k=1时:节点个数=2^1-1=1

2.当k=2时:节点个数=2^2-1=3

3.当k=3时:节点个数=2^3-1=7

4.当k=4时:节点个数=2^4-1=15

这里我们也是可以得出这个结论是正确的的:

即深度为k的二叉树至多有2^k-1个节点

最后我们再来看二叉树的第3个特点:

二叉树的特点(3)

即:

二叉树的特点(3)图例

所以以上3个特点有两个公式需要记忆:

1.在二叉树的第i层最多有2^(i-1)

2.深度为k的二叉树至多有2^k-1个节点

然后我们也要认识满二叉树,懂得满二叉树的运用及判断。

没想到吧,又学完一个知识点了最后我们来学习

完全二叉树

接着上面,我们再来看二叉树的第4个特点——完全二叉树

二叉树的特点(4)
完全二叉树示意图

像下面这些也属于完全二叉树:

完全二叉树示意图
完全二叉树示意图

也就是说除最后一层以外的,这棵树必须是满二叉树。

就像上面的图一样除8,9,10,11,12||8,9,10,11,12,13||8,9,10,11以外都是满二叉树,对不对?

那最后一句话“在最后一层上只缺少右边的若干结点”是什么意思呢?

我们来看看错误完全二叉树的示例吧!

错误完全二叉树示例

图一错误点:根据我们完全二叉树的定义除最后一层外,每一层上的结点数均达到最大值可以    判断这是错的(除6,7以外,3下面没有子节点应该是错的)正确来说应该在3下面多加一个左孩子和一个右孩子。

图二错误点:虽然它第一个条件满足了,但是第二个条件在最后一层上只缺少右边的若干结点却没有满足,那个6不应该出现在右边的,如果6是3的左孩子的话,那就对了。

总结:

完全二叉树应该满足以下两个特征:

1.除最后一层外,每一层上的结点数均达到最大值。

2.在最后一层上只缺少右边的若干结点。

接下来我们来练习一下吧

练一练

第一题

二叉树的特性

思考一下。

答案是 A

你答对了吗?

解答:套公式!深度为k的二叉树至多有2^k-1个节点

所以答案为:2^5-1=31,所以答案是A

第二题


二叉树的特征

思考一下

答案选B

你答对了吗?

解答:老样子套公式!谁的2次方-1最接近61?6!

2^6-1=61所以答案为6!

尾声:

二叉树的基本知识你已经掌握的差不多了

up会持续更新关于二叉树的知识,大家记得关注哦

再见了!

感谢观看

树结构的评论 (共 条)

分享到微博请遵守国家法律