学术, 其他笔记

迭代和递归的区别

迭代(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)
477 次浏览

【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code