1、定义
二叉树(Binary Tree)是树形结构的一个重要类型,它是一个有限元素的集合,该集合或者为空集(称为空二叉树),或者由一个根节点以及两棵互不相交的、分别被称为左子树和右子树的二叉树组成。二叉树的特点是每个节点最多只能有两棵子树,且这两棵子树分别被称为该节点的左子树和右子树。
2、主要特征
1、每个节点最多有两个子节点: 二叉树的每个节点最多只能有两棵子树,分别称为左子树和右子树。这是二叉树与多叉树(每个节点可以有多个子节点的树)的主要区别。
2、子树有左右之分,且次序不能颠倒: 在二叉树中,左子树和右子树是严格区分的,即使一个节点只有一棵子树,也必须明确指出它是左子树还是右子树。
3、递归定义: 二叉树是递归定义的,即一个二叉树或者为空,或者由一个根节点加上它的左子树和右子树组成,而左子树和右子树又分别是由根节点、左子树和右子树组成的二叉树。
4、有唯一根节点(非空树): 在二叉树中,除了空树之外,任何一棵二叉树都只有一个根节点。
5、具有层次结构: 二叉树是一种层次结构的数据结构,从根节点开始,每一层节点都可能有子节点,形成树状结构。
6、节点的度: 二叉树中,节点的度是指该节点拥有的子节点数。在二叉树中,每个节点的度最大为2,即每个节点最多有两个子节点。
7、叶子节点: 二叉树中没有子节点的节点称为叶子节点。叶子节点是二叉树中特殊的节点,它们位于树的末端,没有子树。
8、树的深度: 二叉树的深度(或高度)是指从根节点到最远叶子节点的最长路径上的节点数。空树的深度为0,只有一个根节点的二叉树深度为1。
3、特殊类型的二叉树
1、满二叉树: 如果一棵二叉树的所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上,那么这棵二叉树被称为满二叉树。
2、完全二叉树: 对于深度为k的,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中编号从1至n的节点一一对应时,这棵树被称为完全二叉树。