二叉树遍历(前序,中序,后序)

                  a
               /     \
     b c
     /\ /
    e f g
 
  前序遍历(DLR)
  前序遍历也叫做先根遍历,可记做根左右。
 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
 若二叉树为空则结束返回,否则:
(1)访问根结点
(2)前序遍历左子树
(3)前序遍历右子树
 注意的是:遍历左右子树时仍然采用前序遍历方法。




  中序遍历(LDR) 
 中序遍历也叫做中根遍历,可记做左根右。
 中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。即:
 若二叉树为空则结束返回,否则:
 (1)中序遍历左子树
 (2)访问根结点
 (3)中序遍历右子树。
 注意的是:遍历左右子树时仍然采用中序遍历方法。



  后序遍历(LRD) 
 后序遍历也叫做后根遍历,可记做左右根。
 后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。在遍历左、右子树时,仍然先遍历左子树,再遍历右子树,最后访问根结点。即:
 若二叉树为空则结束返回,否则:
 (1)后序遍历左子树。
 (2)后序遍历右子树。
 (3)访问根结点。
 注意的是:遍历左右子树时仍然采用后序遍历方法。


   如上图所示二叉树
 前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树

 

posted @ 2013-12-18 14:02  matthew2015  阅读(305)  评论(0编辑  收藏  举报