二叉树

 

 

  什么是二叉树:二叉树中的(节点)最多只能有两个子节点。

         二叉树是由有限个节点所构成的集合,该集合可以为空,

         二叉树的根节点下可以分成 两个子树,称为左子树和右子树,

         左子树和右子树也称为二叉树。

 

       二叉树如下图:

 

 

 



  从上图的(二叉树)中,

  大家可以看到(根节点)是A,

  (左子树)是B、D、E,

  (右子树)是C、F。

 

  另外,二叉树的子树是有(顺序关系)的,分为左子树和右子树。

  所以,下图中的两棵树是(相同)的树,但却是(不同)的二叉树,

  左边这棵称为(左歪斜树),右边这棵称为(右歪斜树)。

  左歪斜树,所有节点的R均不存在,右歪斜树,所有节点的L均不存在。

 

    

 

 

  

  二叉树与树的区别:

 

  (1)二叉树可以为空,但是,树不可以为空,(至少要有根节点)。

  (2)二叉树的子树有顺序的关系,即有顺序的区别,而树没有。

  (3)二叉树的分支度只有0、1、2,而树的分支度可以大于2。

 

 

 

  满二叉树:

 

   树中所有叶节点都在同一层中,而所有(非终端节点)的分支度为2,

   如果树的高度为h,那么,该二叉树的节点数量为2的(h次方)减1。

   如下图:

 

         

 

   上图中二叉树的高度是3,所以,节点的数量是2的(3次方)减1,

   就是8-1=7,一共7个节点。

 

 

 

  完全叉树:

 

   把树中(最大阶层)去掉,剩下的部分是一棵满二叉树,

   且最大阶层是向左靠齐。如下图:

    

     

 

   在上图中,把(最大阶层)D、E去掉,剩下的A、B、C是一棵满二叉树,

   同时,(最大阶层)D、E是向左靠齐。

 

 

 

   相应的学习文档代码训练可以通过下方的按钮进行下载,

   可使用(多种主流语言)进行代码编写,并完成不同的训练任务,

   从而,加深对(数据结构)与(算法)的理解与项目应用

   不要停留在理论知识上,快动起来吧!

 

 

 

下载训练代码与文档