一、 什么是二叉树
二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点 。
来源:百度百科_二叉树
简单来说,二叉树就是每个结点最多有两个子树的树形结构,只要满足两个性质就可以称为二叉树:
- 本身是一棵有序的树
- 树中包含的各个结点的度不能超过2,只能是0、1或者2
二、 二叉树的性质
- 根节点的层数为1,一棵非空二叉树的第 i 层最多有2i-1 个结点
- 根节点的层数为1,一棵深度为 k 的二叉树最大结点个数为2k-1个
- 对于任意一棵二叉树,如果其叶子结点个数为n0,度数为2的结点个数为n2,则一定满足 n0 = n2 + 1
三、二叉树的形态
- 空二叉树
- 仅有一个根节点
- 仅有左子树
- 仅有右子树
- 既有左子树也有右子树
四、两种特殊的二叉树
二叉树再进行划分有两种特殊的二叉树
1. 满二叉树
满二叉树是一棵深度为 k 并且有 2k-1 个结点的二叉树,既除叶子结点外每一个结点都有两个子结点的二叉树
2. 完全二叉树
完全二叉树是深度为 k ,有n个结点的二叉树当且仅当其每个结点都与深度为 k 的满二叉树中编号从 1 到 n 的结点一 一对应
在完全二叉树中,叶子结点只能在层次最大的两层上出现,最后一层的叶子结点一次排列在该层最左边的位置