迭代(iteration)和递归(recursion)都是循环的过程。迭代是在循环体内重复调用另外一个函数或代码块,通常使用像 for、while 这样的循环语句控制循环次数。在迭代循环过程中,某些变量可能会反复使用。而递归是在函数内部直接调用自身这个函数,实现循环的效果。每次递归调用相当于循环体执行一次,直到满足终止条件退出循环。
因此,从实现方式来说,它们的主要区别是:
- 迭代是在循环另一个分离的函数/代码块,本质是在循环变量。
- 递归是在循环当前自身这个函数。
在实际应用中,迭代是使用比较多的,因为代码会比较直观,理解起来比较方便。但在某些特别的问题上,尤其是问题本身就是递归的,那么递归实现起来可能会更简洁些。
示例:计算 1 到 n 的和。
迭代 python代码:
def iterative_sum(n):
total = 0
for i in range(1, n+1):
total += i
return total
递归 python代码:
def recursive_sum(n):
if n == 1:
return 1
else:
return n + recursive_sum(n-1)
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】