人理解迭代,神理解递归。
关于这个问题,发现一篇博客,写得很不错。地址:http://blog.sina.com.cn/s/blog_674fddf70100ih5w.html
摘录如下:
二者相同的步骤是递推公式的建立,因二都都是利用计算机运算速度快的特点来让计算机重复相同的公式而求得值;第二个相同点是二者都有递推公式的终结条件。
二者的不同点在于分解问题的方式:递归是从要的结果向一个初始值回归分解;而迭代是从一个初始值开始,经过有限次数的递推,得到一个结果;从空间构型来看递归要比迭代复杂的多,迭代是从初始值到结果,而递归是从未知结果到已知初始值再到所求的结果。
在编程时,二者的重点在于递推公式的总结。迭代的侧重点在于如何向结果靠近;递归的侧重点在于如何分解到原点。