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

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

就拿图中的树来讲吧。先序遍历,先访问根节点。于是,第一步先访问结点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

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