迭代和递归的区别总结

初学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的相加,

还有一种理解,可以是:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值