著名的二叉树

 二叉树是什么?

从字面意思上看来,首先由两个叉,所以简单的来说就是每个节点最多只能有两个叉。

-------------------------------------------------------------------------

图:有向图(有箭头的) 无向图(没有箭头) 环形图(形成了环) 无环图(没有环) 有序对无序对

-------------------------------------------------------------------------

:有向无环图(计算机中的树和生活中的树是相反的,头部在上面)

分类

  1.平衡二叉树:任意一个节点,其左节点层数与右节点的层数相差不能为一

     

 

   2. 完全二叉树:除了叶子节点之外每个节点都有两个子节点

   (叶子节点表示没有子节点的节点)

   

  3. 满二叉树 

  (1) 所有的层都是满的

  (2) 要么没有子节点要么就是满的

   

 

   代码部分:

   基本二叉树结构

  

 

  结果:

 

 

二叉树的描述方式如图:

 

前序: 首先访问根节点(1,2,4,5,3,6)

大致查找顺序(根节点->左节点->右节点)

-----------------------------------------------------------------------

中序: 中间访问根节点(4,2,5,1,3,6)

大致查找顺序(左节点->根节点->右节点)

-----------------------------------------------------------------------

后序: 最后访问根节点(4,5,2,6,3,1)

大致查找顺序(左节点->右节点->根节点)

-----------------------------------------------------------------------

:给你前序和后序排列方式会出现多种

-----------------------------------------------------------------------

前序代码的实现

 中序代码实现

 

后序代码实现

 

总结:不论是前序、中序、后序都是一个递归的过程,只是打印的位置是不同的。

-----------------------------------------------------------------------

给定前中节点,还原二叉树

:  1 2 4 5 3 6

:  4 2 5 1 3 6

 

给定前中节点,还原二叉树

:  4 5 2 6 3 1

:  4 2 5 1 3 6

 

 

posted @ 2018-10-25 20:34  1998丶1019  阅读(339)  评论(0编辑  收藏  举报