2014年3月25日

二叉树的遍历(C++非递归实现)

摘要: 文章真是经典!原文:http://www.cnblogs.com/microgrape/archive/2011/05/11/2043799.html其实二叉树的遍历,这么经典的东西,我自己一直都不明白。递归算法那么简洁,让人神魂颠倒;非递归算法就那么不好理解。。。最近使劲想了一想,似乎有一些眉目了,于是记录下来。【思想】(1)递归思想。虽然非递归算法没有直接使用函数递归,但是使用了栈,所以实际上仍然是递归的思想。但是它递归的是那么朦胧,让人无法捉摸。可以从以下几个方面思考:首先,三个非递归遍历的算法开始都是向左走到树的最左下方的节点,并把路上遇到的节点入栈,这其实就是递归中的前一半过程。如下 阅读全文

posted @ 2014-03-25 21:38 theCambrian.cpp 阅读(392) 评论(0) 推荐(0) 编辑

导航