回复 2楼 dreamofgod
但是有任何又这么说:不知道楼主为什么把这两个概念扯在一起,个人感觉它们没有太多的共同点,就比如有人问“走路和吃饭有什么区别”,我也不知道该怎么回答。
递归就是一个函数调用自己。尾递归也是递归(一个函数在最末尾的地方调用自己),只不过编译器可能会做优化。一旦优化成功,除了性能的提升之外,还可以避免堆栈溢出的情形。即使无限递归也不会造成溢出。
迭代应该是指多次计算,每次计算都更加的接近最终结果,因此,计算的次数增多了就能得到足够精确的近似值。迭代一般用循环来做,但没有规定不能用其它方法来做。比如,你可以用递归来做迭代