递归是一种程序设计技术,它允许程序在执行过程中调用自身。这种技术通常用于处理数据结构中的问题,例如树形结构和链表。
实现递归的关键在于确定递归结束条件(也称为终止条件),以及在每次递归调用之间改变状态。
例如,假设我们希望使用递归来计算 n!,即 n 的阶乘。我们可以使用以下递归函数来实现这个目的:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
在这个函数中,递归结束条件是 n==1,因为 1! 的值为 1。在每次递归调用之间,我们改变 n 的值,使它逐渐减小。这样,当 n 的值为 1 时,递归就会结束。