python之一:迭代与递归的区别

本文对比分析了递归与迭代两种编程技巧的特点及应用场景。递归通过自我调用简化问题,提升代码可读性,但可能导致空间浪费和堆栈溢出;迭代则更注重效率,适合循环场景,但在复杂问题解决上不如递归直观。
定义优点缺点
递归 程序调用自身的编程技巧称为递归1)大问题化为小问题,可以极大的减少代码量;
2)用有限的语句来定义对象的无限集合.;
3)代码更简洁清晰,可读性更好
|1)递归调用函数,浪费空间;
2)递归太深容易造成堆栈的溢出;/td>
迭代利用变量的原值推算出变量的一个新值,迭代就是A不停的调用B.1)迭代效率高,运行时间只因循环次数增加而增加;
2)没什么额外开销,空间上也没有什么增加;
1) 不容易理解;
2) 代码不如递归简洁;
3) 编写复杂问题时困难。
二者关系 1) 递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。
2) 能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出./*相对*/
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值