码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树的遍历

时间:2017-10-01 00:18:50      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:数据结构      树的三种遍历   

   对于二叉树的遍历基本上分为三种。前序遍历,中序遍历,后序遍历。

   先讲第一种,前序遍历。前序遍历就是说,第一步,先访问根结点,然后再访问左子树,最后是访问右子树。

技术分享

就拿图中的树来讲吧。先序遍历,先访问根节点。于是,第一步先访问结点A。接着访问左子树,通过观察发现,左子树的根结点是B,所以第二个访问B。接着,根据,先访问根节点再访问左子树的原则,那么接下来访问B的左子树,观察之后发现,B的左子树的仍然是棵树,并且,这棵树的根节点就是D,所以,第三个访问的结点就是D。D的左子树就是F,因为,F的左右都为空,所以,接着访问D的右子树,D的右子树仍然是一棵树,并且,G为树的根,G的左子树是H,所以,先访问H,再访问G的右子树I。这样一来,B的左子树就全部访问完毕,然后就是B的右子树E,这样,A的左子树就全部访问完毕,最后就是访问A的右子树C。因为C没有左孩子和右孩子,所以,该树访问完毕。整体访问流程如下:

A->B->D->F->G->H->I->E->C

   第二种遍历,中序遍历。什么是中序遍历呢?就是,先访问左子树,再访问跟结点,最后访问右子树。根据这一原则,那么上图中,中序遍历后,如下:

F->D->H->G->I->B->E->A->C

   第三中遍历。后序遍历。就是指,先访问左子树,再访问右子树,最后访问根节点。根据这一原则,那么上图,经过后序遍历后,如下:

F->H->I->G->D->E->B->C->A

   所谓树的先序、中序,后序遍历,其实就是根据根节点访问的位置来定的。先访问根节点就是先序遍历,第二个访问根节点就是中序遍历,最后访问根节点就是后序遍历。

本文出自 “梵高说我脑子有病” 博客,请务必保留此出处http://chen0547.blog.51cto.com/12489941/1970068

二叉树的遍历

标签:数据结构      树的三种遍历   

原文地址:http://chen0547.blog.51cto.com/12489941/1970068

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!