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