递归和迭代有哪些区别?

深究递归和迭代的区别、联系、优缺点及实例对比(是我看到讲解递归与迭代的区别比较好的一篇文章)

文章有总结两者之间的关系:

1) 递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。

2) 能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出./*相对*/在数学上,递归强调的是,新的值与前面计算的好几个值有关系;比如斐波那契数列

而迭代一般是只是与之间进行计算,即;

计算机进行算法分析中,(我对递归的复杂度分析不熟,可以去看看《算法导论》)递归方法一般是将递归式转换成树形结构,然后是不断向下计算吧;

在常见的迭代法中,有牛顿法与梯度下降法;像Tianyuan解说的那样,是一种循环逼近的方式,使得初始值进过一系列的迭代之后收敛到极限值。

(再看看维基上的解释)

我想最主要的是你去用这些具体的方法,才会更加了解其中的一些区别。