| 定义 | 优点 | 缺点 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 递归 | 程序调用自身的编程技巧称为递归 | 1)大问题化为小问题,可以极大的减少代码量; 2)用有限的语句来定义对象的无限集合.; 3)代码更简洁清晰,可读性更好 | |1)递归调用函数,浪费空间; 2)递归太深容易造成堆栈的溢出;/td> | ||||||
| 迭代 | 利用变量的原值推算出变量的一个新值,迭代就是A不停的调用B. | 1)迭代效率高,运行时间只因循环次数增加而增加; 2)没什么额外开销,空间上也没有什么增加; | 1) 不容易理解; 2) 代码不如递归简洁; 3) 编写复杂问题时困难。 | ||||||
| 二者关系 | 1) 递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。 2) 能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出./*相对*/ | ||||||||
python之一:迭代与递归的区别
最新推荐文章于 2023-10-24 20:35:23 发布
本文对比分析了递归与迭代两种编程技巧的特点及应用场景。递归通过自我调用简化问题,提升代码可读性,但可能导致空间浪费和堆栈溢出;迭代则更注重效率,适合循环场景,但在复杂问题解决上不如递归直观。
1400

被折叠的 条评论
为什么被折叠?



