Heim  >  Artikel  >  Backend-Entwicklung  >  看到自学IT网的刘道成讲的迭代怎么看怎么晕

看到自学IT网的刘道成讲的迭代怎么看怎么晕

WBOY
WBOYOriginal
2016-06-23 13:32:521015Durchsuche

主要是视频在那里敲的废话实在是太多了。打断了逻辑思维,不知所云!
谁能举个代码讲一下什么是迭代?另外再说一下迭代和递归的区别是啥?
一定要用代码来说话,纯理论看不懂!


回复讨论(解决方案)

function 迭代($n) {  $s = 0;    for($i=1; $i<=$n; $i++)      $s += $i;    return $s;  }function 递归($n) {    if($n > 1)      return $n + 递归($n-1);    else       return 1;  }  echo 迭代(10);echo 递归(10);/*迭代:利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用B.递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换.能用迭代的不用递归*/

function 迭代($n) {  $s = 0;    for($i=1; $i<=$n; $i++)      $s += $i;    return $s;  }function 递归($n) {    if($n > 1)      return $n + 递归($n-1);    else       return 1;  }  echo 迭代(10);echo 递归(10);/*迭代:利用变量的原值推算出变量的一个新值.如果递归是自己调用自己的话,迭代就是A不停的调用B.递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换.能用迭代的不用递归*/


是不是说累加就是迭代,可以这样理解吗?

利用变量的原值推算出变量的一个新值
应该不能狭隘地理解为累加吧?虽然累加也是其中之一

迭代就是根据原来的值不段更新为另一个值。

递归就是盗梦空间,一层层调用,然后一层层return

迭代就是根据原来的值不段更新为另一个值。

递归就是盗梦空间,一层层调用,然后一层层return


这个比喻让人恍然大悟!
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn