迭代和递归有什么区别
大佬们,迭代和递归的概念是啥呀,有什么区别,应该去看那些课程了解。 https://zhidao.baidu.com/question/1638784639202969220.html (1)定义:
程序调用自身称为递归。
利用变量的原值推出新值称为迭代。
(2)优缺点
递归
优点:大问题转化为小问题,可以减少代码量,同时代码精简,可读性好;
缺点:就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。
迭代
优点:代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销;
缺点:代码不如递归简洁 迭代简单来讲,就是这样的:
for i in range(10):
也就是遍历一个可迭代对象。
递归就是套娃,比如:
i = 5
def func():
global i
print(i)
i -= 1
if i:
func()
(这里我加上了条件,防止死递归)
可以发现,递归就是在函数中调用函数。 禁止套娃{:5_97:}
页:
[1]