递推 递归 迭代 三者间有什么区别?
本帖最后由 zheung14 于 2013-05-30 12:51:43 编辑 尤其是迭代,感觉百科和维基都解释的不明不白的样子... 迭代 递归 递推
[解决办法]
递归与循环:
从理论上说,所有的递归函数都可以转换为迭代函数,反之亦然,然而代价通常都是比较高的。当递归次数较多时,内存占用也会随之增加。
递推与递归:
1,从程序上看,递归表现为自己调用自己,递推则没有这样的形式。
2,递归是从问题的最终目标出发,逐渐将复杂问题化为简单问题,最终求得问题
是逆向的。递推是从简单问题出发,一步步的向前发展,最终求得问题。是正向的。
3,递归中,问题的n要求是计算之前就知道的,而递推可以在计算中确定,不要求计算前就知道n。
4,一般来说,递推的效率高于递归(当然是递推可以计算的情况下)
[解决办法]
迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
通常亲况下,迭代俗称“循环”
编程语言中的for\foreach\while\loop\do while等都是循环