树的非递归遍历_栈

 

先序遍历

这个过程能总结出规律吗?(栈顶元素如果有左子树,则把左子树入栈,否则退出栈顶节点,并将其右子树入栈)

思路有了,程序写得出来了吧。注意,先序遍历节点入栈之前访问。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

中序遍历

 

 

后续遍历

 

后续遍历比较难,涉及到二次入栈,栈里面的节点有标志位,记录是第几次入栈。

 

 

 

想想为什么要两次入栈?(第二次出栈的时候才访问节点)

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2010-07-11 10:41  江南烟雨hust  阅读(157)  评论(0)    收藏  举报

导航