人理解迭代,神理解遞歸。
關于這個問題,發現一篇博客,寫得很不錯。地址:http://blog.sina.com.cn/s/blog_674fddf70100ih5w.html
摘錄如下:
二者相同的步驟是遞推公式的建立,因二都都是利用計算機運算速度快的特點來讓計算機重復相同的公式而求得值;第二個相同點是二者都有遞推公式的終結條件。
二者的不同點在于分解問題的方式:遞歸是從要的結果向一個初始值回歸分解;而迭代是從一個初始值開始,經過有限次數的遞推,得到一個結果;從空間構型來看遞歸要比迭代復雜的多,迭代是從初始值到結果,而遞歸是從未知結果到已知初始值再到所求的結果。
在編程時,二者的重點在于遞推公式的總結。迭代的側重點在于如何向結果靠近;遞歸的側重點在于如何分解到原點。