2018-10-16
阅读量:
3828
迭代与递归的优缺点与区别
递归:程序调用自身的编程技巧称为递归,是函数自己调用自己。
优点:1、大问题化为小问题,可以极大的减少代码量;2、用有限的语句来定义对象的无限集合;3、代码更简洁清晰,可读性更好。
缺点:1、递归调用函数,浪费空间;2、递归太深容易造成堆栈的溢出。
迭代:利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。
优点:1、迭代效率高,运行时间只因循环次数增加而增加;2、没什么额外开销,空间上也没有什么增加。
缺点:1、不容易理解;2、代码不如递归简洁;3、编写复杂问题时困难。
两者区别:1、递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。2、相对于递归,能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出。
138.7106
3
2
关注作者
收藏
推荐帖子
0条评论
0条评论
1条评论