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

二叉树遍历逻辑

时间:2016-12-07 09:43:34      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:out   二叉树遍历   layout   com   时间   复杂度   tle   level   左右子树   

中序遍历(中跟遍历)

中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。即:
若二叉树为空则结束返回
否则:
(1)中序遍历左子树。
(2)访问根结点。
(3)中序遍历右子树。
技术分享中序遍历
注意的是:遍历左右子树时仍然采用中序遍历方法。
如右图所示二叉树
中序遍历结果:DBEAFC
中序遍历的时间复杂度为:O(n)。
如果一棵二叉排序树的节点值是数值,中序遍历的结果为升序排列的数组。可以利用该性质检测一棵树是否为二叉排序数。
已知前序遍历和后序遍历,不能确定唯一的中序遍历。
 
后序遍历(后根遍历)
后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。即:
若二叉树为空则结束返回,
否则:
技术分享
(1)后序遍历左子树
(2)后序遍历右子树(3)访问根结点
如右图所示二叉树
后序遍历结果:DEBFCA
已知前序遍历和中序遍历,就能确定后序遍历。
前序遍历(先根遍历)
前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
若二叉树为空则结束返回,否则:
(1)访问根结点。
(2)前序遍历左子树。
(3)前序遍历右子树 。
技术分享前序遍历
需要注意的是:遍历左右子树时仍然采用前序遍历方法。
如右图所示二叉树
前序遍历结果:ABDECF
已知后序遍历和中序遍历,就能确定前序遍历。
 
 

二叉树遍历逻辑

标签:out   二叉树遍历   layout   com   时间   复杂度   tle   level   左右子树   

原文地址:http://www.cnblogs.com/JAYIT/p/6139854.html

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