38 - 二叉树的基本概念和特点

1. 二叉树的基本概念

这里写图片描述

  n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成。每个根节点只有2个子节点的就叫做二叉树。



对于二叉树来说,还具备五种基本形态:

这里写图片描述

1.空二叉树
2.只有一个根节点
3.根节点只有左子树
4.根节点只有右子树
5.根节点有左子树和右子树

2. 满二叉树

  在一棵二叉树中,如果所有分支节点都有左孩子节点和右孩子节点,并且叶节点都集中在二叉树的最下一层,这样的二叉树称为满二叉树。

这里写图片描述

  从上图中我们可以看到,在这个二叉树中所有的分支节点2 - 7都有做孩子节点和有孩子节点,所有的叶子节点8 - 15都在二叉树的最下一层。对满二叉树节点的连续编号:树根为1,按照层数从小到大,同一层从左到右的次序进行。



满二叉树的特点:
  1 . 叶子节点都在最下一层
  2 . 只有度为0和度为2的节点
  3 . 一棵高为h,且有2 h - 1个节点的二叉树称为满二叉树

3. 完全二叉树

  若二叉树中最多只有最下面两层的节点的度数可以小于2,并且最下面一层的叶节点都依次排列在该层最左边(从左到右)的位置上,则这样的二叉树称为完全二叉树。

这里写图片描述

  另外,完全二叉树的所有节点和满二叉树的所有节点一样,都是按层序连续编号节点的,是一一对应的:树根为1,按照层数从小到大、同一层从左到右的次序进行,如下图所示:

这里写图片描述

  对于树1来说,我们在给树1的所有节点按层序编号时发现,5节点只有右子树,没有左子树,因此在编号时,编号为10的位置就出现了空位了。因此树1不满足要求,它并不是一课完全二叉树。

  对于树2来说,在进行按层序编号时发现,3节点没有左子树和右子树,在编号时也出现了空位,也不是一课完全二叉树。

  对于树3同理,也不是一棵完全二叉树。因此我们可以知道,凡是按层序编号出现空位的二叉树都不是完全二叉树



完全二叉树的特点:
  1. 叶子结点只能出现在最下两层

  2. 最下层上的叶子结点都依次排列在该层最左边连续的位置上

  3. 如果有度为1的节点,只能有一个,且该节点只有左孩子,没有右孩子。比如F节点的度就为1,且F节点也只有一个左孩子节点。

  4. 按层编号后,一旦出现某节点(编号为i)为叶子结点或只有左孩子,则编号大于i的节点,均为叶子节点。比如对于编号为6的F节点来说,它的节点只有左孩子,那么只要大于编号6的节点,即7 - 12都是叶子节点。

猜你喜欢

转载自blog.csdn.net/qq_35733751/article/details/80886151