问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数据结构之满二叉树和完全二叉树

创作时间:
作者:
@小白创作中心

数据结构之满二叉树和完全二叉树

引用
CSDN
1.
https://m.blog.csdn.net/m0_74811962/article/details/138346258

满二叉树和完全二叉树的概念

在数据结构中,满二叉树和完全二叉树是两种常见的二叉树类型。它们的定义和特点如下:

  1. 满二叉树的定义:深度为k且含有2^k-1个结点的二叉树。满二叉树的特点是每一层的节点数都是最大结点数,第i层的结点数都是具有最大值2^(i-1)。结点编号从根结点起,自上而下,从左至右。

  2. 完全二叉树的定义:深度为k且含有n个结点的二叉树,当且仅当每一个结点都与深度为k的满二叉树从编号1到n的结点一一对应,称为完全二叉树。完全二叉树的特点是叶子结点只可能在层级最大的两层上出现;对于任意结点,右分支下的最大子孙的最大层级为l,则左分支下的子孙的最大层级比为l或l+1。

图形分析

接下来,让我们通过分析一系列图形来理解这两种二叉树的区别。

图1


这是一棵满二叉树。根据判断条件,它满足满二叉树的基本条件。

图2


这是一棵完全二叉树。因为它满足完全二叉树的条件。

图3


这是一棵非完全二叉树。因为编号3下面没有子孙,但是同级的编号2下面编号5有子孙,不符合完全二叉树从编号1到n的结点一一对应的原则。如果删除编号6、7,那么这棵树就成为完全二叉树。

图4


这是一棵非完全二叉树。编号3下面的编号6属于右子树,虽然编号2、3它们的最大深度都为3,但是不满足从左至右的规则,所以该树不属于完全二叉树。如果编号6的子树是左子树的话,就满足完全二叉树的条件。

图5


这是一棵非完全二叉树。与图4类似,都没有满足从左至右的条件。如果将虚线那个子树补充上,就为完全二叉树。

图6

这是一棵非完全二叉树。与图4、5一样,都没有满足从左至右的条件。如果将编号2下面的子树添加一个上去,为编号5子树,3子树下面添加上子树6、7,就为完全二叉树。

总结

通过以上分析,我们可以清晰地看到满二叉树和完全二叉树的区别。满二叉树要求每一层的节点数都达到最大值,而完全二叉树则要求叶子节点只能出现在最底层或次底层,并且从左至右依次排列。理解这些概念对于学习数据结构和算法具有重要意义。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号