wht666 发表于 2020-4-15 14:51:58

迭代和递归有什么区别

大佬们,
迭代和递归的概念是啥呀,有什么区别,应该去看那些课程了解。

六小鸭 发表于 2020-4-15 14:53:03

https://zhidao.baidu.com/question/1638784639202969220.html

六小鸭 发表于 2020-4-15 14:53:38

(1)定义:

程序调用自身称为递归。

利用变量的原值推出新值称为迭代。

(2)优缺点

递归

优点:大问题转化为小问题,可以减少代码量,同时代码精简,可读性好;

缺点:就是递归调用浪费了空间,而且递归太深容易造成堆栈的溢出。

迭代

优点:代码运行效率好,因为时间只因循环次数增加而增加,而且没有额外的空间开销;

缺点:代码不如递归简洁

qiuyouzhi 发表于 2020-4-15 15:05:14

迭代简单来讲,就是这样的:
for i in range(10):
也就是遍历一个可迭代对象。
递归就是套娃,比如:
i = 5
def func():
    global i
    print(i)
    i -= 1
    if i:
      func()
(这里我加上了条件,防止死递归)
可以发现,递归就是在函数中调用函数。

Cool_Breeze 发表于 2020-4-15 16:40:35

禁止套娃{:5_97:}
页: [1]
查看完整版本: 迭代和递归有什么区别