
之前我们学习了线性表,今天我们再来接触一种全新的数据结构——树。 树是一种非线性的数据结构,它是由有限个结点组成的一个具有层次关系的结构。把它称为树是因为它看起来就像一棵倒挂的树,根朝上而叶朝下。
现实中的树:

树形结构:

关于数据结构树:

在树形结构中,我们最常用的就是二叉树。二叉树由根结点、左子树、右子树组成,或者为空。 二叉树的特点是:

满二叉树是二叉树的特殊情形。一个二叉树如果每一层的结点数都达到最大值,它就是满二叉树。也就是除叶子结点外每一个结点都有两个子结点。不难计算,如果一个满二叉树的高度为k,则它的结点总数是2k -1(等比数列求和)

完全二叉树是由满二叉树引出来的。 我们首先要知道二叉树中结点的编号方式:从上到下,从左到右。从第一层开始从左到右从0开始依次编号,第一层编完第二层从左到右编号……直到所有结点编号完。

对于有n个结点的二叉树,若每一个结点都与深度相同的满二叉树的编号从0到n的结点一一位置对应,这个二叉树就是完全二叉树,满二叉树也是完全二叉树。 也可以理解为:完全二叉树的每一层结点个数达到最大,最后一层不一定达到最大,且结点是从左到右依次排列的。 比如,以下这些都是完全二叉树:

二叉树既可以用顺序结构存储,也可以用链式结构存储,我们之后都要学习。
本篇完,感谢阅读