迭代和递归的区别总结

来源:互联网 发布:关于c语言的书 编辑:程序博客网 时间:2024/06/05 23:48

初学JAVA,不是特别明白递归和迭代,这里特别的吧两种用法写一篇小文章,带有自己在网上搜索的一些知识,附上来。


迭代就是将输出作为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力继续扣动扳机。

用程序表述就是:for (int i=0; i < 100; i++) n = f(n); 调用输出来的值,在把这个值输入到原来的式子中去;

递归,简单来说就是自己不断调用自己,例如

public class dgtest {public static void main(String[] args){System.out.println(dg(100));}public static int dg(int i){int sum = 0;if(i==1)return sum;else{sum=i+dg(i-1);}return sum;}}
例如这个就利用递归算法实现了1至100的相加,

还有一种理解,可以是:

迭代是更新变量的旧值。递归是在函数内部调用自身

0 0
原创粉丝点击