将递归程序转换为非递归程序通常是件非常头痛的事情。但是,只要遵循如下几个原则,这种转换还是非常容易理解的。首先,这种转换大都是建立在队列(或堆栈)和回溯思想上的。其次,为更形象地描述非递归的实现过程,可以通过简单得绘制树结构来实现。
上面实现的代码中,通过堆栈来实现了快速排序算法。
将递归程序转换为非递归程序通常是件非常头痛的事情。但是,只要遵循如下几个原则,这种转换还是非常容易理解的。首先,这种转换大都是建立在队列(或堆栈)和回溯思想上的。其次,为更形象地描述非递归的实现过程,可以通过简单得绘制树结构来实现。
上面实现的代码中,通过堆栈来实现了快速排序算法。