递归是指程序调用自身的编程技巧称为递归
优点:
1)大问题化为小问题,可以极大的减少代码量;
2)用有限的语句来定义对象的无限集合;
3)代码更简洁清晰,可读性更好
缺点:
1)递归调用函数,浪费空间;
2)递归太深容易造成堆栈的溢出;
迭代是指利用变量的原值推算出变量的一个新值,迭代就是A不停的调用B.
优点:
1)迭代效率高,运行时间只因循环次数增加而增加;
2)没什么额外开销,空间上也没有什么增加,
缺点:
1)不容易理解;
2)代码不如递归简洁;
3)编写复杂问题时困难。
两者的关系:
1)递归中一定有迭代,但是迭代中不一定有递归,大部分可以相互转换。
2)能用迭代的不用递归,递归调用函数,浪费空间,并且递归太深容易造成堆栈的溢出./*相对*/
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)