第6章 树---二叉树


二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。spa


二叉树的特色:
第6章  树---二叉树 - 影魔 - 影魔的博客
  二叉树具备五种基本形态:
# 空二叉树。
# 只有一个根结点。
# 根结点只有左子树。
# 根结点只有又子树。
# 根结点既有左子树又有右子树。
 
三个结点的二叉树有五种形态:
第6章  树---二叉树 - 影魔 - 影魔的博客
特殊的二叉树
# 斜树:全部的结点都只有左子树的二叉树叫左斜树。全部结点都是只有右子树的二叉树叫右斜树。这二者统称为斜树。
# 满二叉树:在一棵二叉树中,若是全部分支结点都存在左子树和右子树,而且全部叶子都在同一层上,这样的二叉树称为满二叉树。
第6章  树---二叉树 - 影魔 - 影魔的博客
满二叉树的特色有:
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
# 彻底二叉树:对一棵具备n个结点的二叉树按层序编号,若是编号为i(1<i<=n)的结点与一样深度的满二叉树中编号为i的结点在二叉树中位置彻底相同,则这棵二叉树称为彻底二叉树。
 
第6章  树---二叉树 - 影魔 - 影魔的博客
彻底二叉树的图
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
  满二叉树的特色有: 
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
二叉树的性质
第6章  树---二叉树 - 影魔 - 影魔的博客
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
第6章  树---二叉树 - 影魔 - 影魔的博客
  第6章  树---二叉树 - 影魔 - 影魔的博客
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
第6章  树---二叉树 - 影魔 - 影魔的博客
   
第6章  树---二叉树 - 影魔 - 影魔的博客
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
二叉树的顺序存储结构
 
第6章  树---二叉树 - 影魔 - 影魔的博客
 
二叉链表:二叉树每一个结点最多有两个孩子,因此为它设计一个数据域和两个指针域,咱们称这样的链表叫作二叉链表。
 
  第6章  树---二叉树 - 影魔 - 影魔的博客
第6章  树---二叉树 - 影魔 - 影魔的博客
 
  二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中全部结点,使得每一个结点被访问一次且仅被访问一次。
 
二叉树的遍历方法
# 前序遍历:规则是若二叉树为空,则空操做返回,不然先访问根结点,而后前序遍历左子树,再前序遍历又子树。如图6-8-2所示,遍历的顺序为:ABDGHCEIF
第6章  树---二叉树 - 影魔 - 影魔的博客
 
 # 中序遍历:规则是若树为空,则空操做返回,不然从根结点开始(注意并非先访问根结点),中序遍历根节点的左子树,而后是访问根结点,最后中序遍历右子树。若是6-9-3所示,遍历的顺序为:GDHBAEICF。
第6章  树---二叉树 - 影魔 - 影魔的博客
 
   #  后序遍历: 规则是若树为空,则空操做返回,不然从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根节点。若是6-8-4所示,遍历的顺序为:GHDBIEFCA。
第6章  树---二叉树 - 影魔 - 影魔的博客
  
# 层序遍历:规则是若树为空,则空操做返回,不然从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。如图6-8-5所示,遍历的顺序为ABCDEFGHI。
第6章  树---二叉树 - 影魔 - 影魔的博客
相关文章
相关标签/搜索