数据结构与算法学习记录(六)二叉树

在树结构中,二叉树是最简单的一种形式。在研究树结构时,二叉树是树结构内容中的重点。二叉树的描述相对简单,处理也相对简单,而且更为重要的是任意的树都可以转换成对应的二叉树。因此,二叉树是所有树结构的基础。

什么是二叉树

二叉树是树结构放入一种特殊形式,它是n个结点的集合,每个结点最多只能有两个子结点。二叉树的子树仍然是二叉树。二叉树的一个结点上对应的两个子树分别称为左子树和右子树。由于子树有左右之分,因此二叉树是有序树。
从上述定义可以看出,在普遍的树结构中,结点的最大度数没有限制,而二叉树结点的最大度数为2.另外,树结构中没有左子树和右子树的区分,而二叉树中则有此区别。
一个二叉树结也可以是空,此时空二叉树中没有数据结点,是一个空集合。如果二叉树中没有仅包含一个结点,那么这也是一个二叉树,树根便是该结点自身。
在这里插入图片描述
对于图(a),只有一个子结点且位于左子树位置,右子树位置为空;对于图(b)只有一个子结点且位于右子树位置,左子树位置为空;对于图(c),具有完整的两个子结点,即左子树和右子树都存在。
对于一般的二叉树,在树结构中可能包含上述各种形式。按照上述二叉树的这几种形式,为了研究的方便,二叉树还可以进一步细分为两种特殊的类型,满二叉树和完全二叉树。

满二叉树即在二叉树中除最下一层的叶结点外,每层的结点都有两个子结点。典型的满二叉树,如下图所示。
在这里插入图片描述
完全二叉树记载二叉树中除二叉树最后一层外,其他各层的结点数都达到最大个数,且最后一层叶结点按照从左向右的顺序连续存在,只缺最后一层右侧若干结点。典型的完全二叉树,如下图所示。
在这里插入图片描述

从上述满二叉树和完全二叉树的定义可以看出,满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树,因为其没有达到完全满分支的结构。

发布了84 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/GaoXiR/article/details/105722724