阿抽哥哥

2018-10-16   阅读量: 3191

Python编程 数据分析师

迭代与递归的优缺点与区别

扫码加入数据分析学习群

递归:程序调用自身的编程技巧称为递归,是函数自己调用自己。

优点:1、大问题化为小问题,可以极大的减少代码量;2、用有限的语句来定义对象的无限集合;3、代码更简洁清晰,可读性更好。

缺点:1、递归调用函数,浪费空间;2、递归太深容易造成堆栈的溢出。

迭代:利用变量的原值推算出变量的一个新值。如果递归是自己调用自己的话,迭代就是A不停的调用B。

优点:1、迭代效率高,运行时间只因循环次数增加而增加;2、没什么额外开销,空间上也没有什么增加。

缺点:1、不容易理解;2、代码不如递归简洁;3、编写复杂问题时困难。

两者区别:1、递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。2、相对于递归,能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
138.7106 3 2 关注作者 收藏

评论(1)

诗人都在海底
2018-10-16

“迭代是人,递归是神!”

0.0000 1 0 回复

推荐课程