摘要: 本文中非递归遍历二叉树的思想和代码都来自这里(http://jianshu.io/p/49c8cfd07410#)。我认为其思想和代码都足够优雅动人了,于是稍作整理,得到如下的程序。以上三种遍历实现代码行数一模一样,如同递归遍历一样,只有三行核心代码的先后顺序有区别。用原作者的话解释就是:"得以统一三种更简单的非递归遍历方法的基本思想:有重合元素的局部有序一定能导致整体有序。基于这种思想,我就构思三种非递归遍历的统一思想:不管是前序,中序,后序,只要我能保证对每个结点而言,该结点,其左子结点,其右子结点都满足以前序/中序/后序的访问顺序,整个二叉树的这种三结点局部有序一定能保证整体以前序/中序/后序访问,因为相邻的局部必有重合的结点,即一个局部的"根"结点是另外一个局部的"子"结点。"。 阅读全文
posted @ 2014-07-17 13:19 BIT祝威 阅读(1551) 评论(1) 推荐(0) 编辑
摘要: 现在到了重拾基础算法,掌握算法思维的时候。暂定要学习的算法如下表。我的计划是,按照上表的顺序,依次理解各个算法的实现思路,然后用C#实现,然后反思其精华。这一过程中逐步得到一个基础算法库(做成DLL)。 阅读全文
posted @ 2014-07-17 11:23 BIT祝威 阅读(664) 评论(0) 推荐(0) 编辑
canvas start.

canvas end.