递归是指函数调用自己。当函数调用自己时,会以不同的输入参数重新开始执行函数。递归通常用于解决具有重复结构的问题,例如树的遍历或排列组合问题。以下是一个 Python 递归函数的示例:
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)
print(factorial(5))
这个函数计算给定数字的阶乘。如果输入为零,则返回 1。否则,返回数字乘以 n - 1 的阶乘。
在这个例子中,当我们调用 factorial(5) 时,会调用另一个 factorial(4) 函数,然后在其中调用 factorial(3),依此类推,直到达到第一个函数调用 factorial(0) 并返回值为 1。然后,每个函数返回相应的值,最终将它们乘在一起返回总结果。在此过程中,Python 将每个函数调用及其参数存储在内存中,直到计算完成。
这个过程可能有点复杂,但可以通过在每个递归步骤中仔细跟踪参数值来理解。