小白的数据结构与算法学习笔记(十八)----二叉树的基本概念,基本形态,特殊形式

一、概念理解

二叉树(Binary Tree)是n(n>=0)个结点的有限集合:

1、n=0时,为空集(空二叉树)

2、n>0时,由一个根结点和两棵互不相交的子树组成,注意:只有两棵子树且不相交!分别称为根结点的左子树和右子树。

3、事实上,不一定必须有两棵子树,只要子树数<=2即可

4、每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点

5、左子树与右子树是有顺序的,不可以颠倒次序

6、即使树中某结点只有一颗子树,也要区分是左子树还是右子树!

二、基本形态

  •  空二叉树
  • 只有根结点的二叉树
  • 根结点只有左子树的二叉树
  • 根结点只有右子树的二叉树
  • 根结点既有左子树又有右子树的二叉树

三、特殊二叉树

1、斜树:一个劲往左斜或者一个劲往右斜,但不可以左斜再右斜或者右斜再左斜

2、满二叉树:简单来说,就是“完美的二叉树 ”。所有分支结点都存在左右子树,并且所有叶子都在同一层。

特点:

  • 叶子只能出现在最下一层
  • 非叶子结点的度一定是2
  • 在同样深度的二叉树中,满二叉树的结点个数一定最多,叶子数一定最多

3、完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点位置完全相同,则这棵二叉树称为完全二叉树。

特点:

  • 叶子结点只能出现在最下两层
  • 最下层的叶子一定集中在左部连续位置
  • 如果倒数第二层有叶子结点,一定都在右部连续位置
  • 如果结点度为1,则该结点只有左孩子
  • 同样结点个数的二叉树,完全二叉树深度最小(要考虑按顺序排结点)
  • 满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树

                                                                                                                                                             BY   ZJQ 

猜你喜欢

转载自blog.csdn.net/qq_41641805/article/details/81699049