递归和迭代的区别

简单来说,递归就是自己调用自己,如: 
int abc(...) 
{ 
if(...) //递归终止条件 
{ return abc(...); } 
return 0; 
} 

而迭代是重复一组指令,不断地根据变量的旧值推出新值,如: 
for(; ; ;)  //迭代终止条件 
{ 
a = b + c; 
b = a; 
c = a; 
}
递归是在函数内调用本身,迭代是循环求值,不推荐使用递归算法。因为递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出.
递归是自顶向下逐步拓展需求,最后自下向顶运算。即由f(n)拓展到f(1),再由f(1)逐步算回f(n)
迭代是直接自下向顶运算,由f(1)算到f(n)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值