有人可以区分迭代和递归。两者对我来说都是一样的......我知道会有区别,但不知道是什么。请帮我知道区别
答案 0 :(得分:2)
递归是指在同一函数/方法中(直接或间接)调用函数/方法的时间。这导致每个连续调用在堆栈(或任何地方)上具有其局部变量的副本,并且它需要被解开'最后,通过结束每个功能/方法并返回上一个呼叫。 递归通常导致相对较短的代码,但在运行时使用更多内存(因为所有调用级别都在堆栈上累积)
迭代是指多次执行相同的代码,更改某些变量的值,可能是更好的近似值或其他任何内容。迭代发生在一个函数/方法调用级别内,不需要展开。
答案 1 :(得分:0)
我希望本文能够解释你:http://www2.hawaii.edu/~tp_200/lectureNotes/recursion.htm
用伪代码解释:
<强>递归强>
An angular port of a Javascript SOAP Client into a factory that has a similar syntax to $http.
<强>迭代强>
function f(x){
do y;
if(x<0){ return f(x-1) } else { return }
}
答案 2 :(得分:0)
通过重复一个函数进行迭代。
示例,我是迭代器:
for (i = 0; i < 10; i++){
function(input);
}
您可以使用自身内部的功能进行递归。
示例:
function(input){
if (input == outcome) {return;}
else {function(input+1);}
}