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

来源:互联网 发布:网络 克隆 编辑:程序博客网 时间:2024/06/06 01:02

            a
           / \
          b   c
         /\   /
         e f  g




前序遍历(DLR)


  前序遍历也叫做先根遍历,可记做根左右。
 
  前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。


  若二叉树为空则结束返回,否则:
 
  (1)访问根结点 


  (2)前序遍历左子树 


  (3)前序遍历右子树 


  注意的是:遍历左右子树时仍然采用前序遍历方法。


中序遍历(LDR) 


  中序遍历也叫做中根遍历,可记做左根右。


  中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。即: 


  若二叉树为空则结束返回,否则:
 
  (1)中序遍历左子树 


  (2)访问根结点 


  (3)中序遍历右子树。
 
  注意的是:遍历左右子树时仍然采用中序遍历方法。


后序遍历(LRD) 


  后序遍历也叫做后根遍历,可记做左右根。


  后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。在遍历左、右子树时,仍然先遍历左子树,再遍历右子树,最后访问根结点。即: 


  若二叉树为空则结束返回,否则:
 
  (1)后序遍历左子树。


  (2)后序遍历右子树。


  (3)访问根结点。 
 
  注意的是:遍历左右子树时仍然采用后序遍历方法。


  如上图所示二叉树


  前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树


  遍历结果:a,b,e,f,c,g


  中序遍历,也叫中根遍历,顺序是 左子树,根,右子树 


  遍历结果:e,b,f,a,g,c


  后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根


  遍历结果:e,f,b,g,c,a
0 0
原创粉丝点击