递归是指函数直接或间接调用自身的过程。递归通常用于解决分解成相似子问题的复杂问题

7.9.1 函数结构

递归函数通常由两个部分组成:

  1. 终止条件:用于确保递归能够停止,避免无限递归。

  2. 递归调用:函数在其内部调用自身,传递简化或减少的参数,以解决更小的子问题。

7.9.2 基本步骤

  1. 定义递归函数:在函数体内调用函数自身。

  2. 设定终止条件:确保递归能终止。

  3. 逐步简化问题:通过传递较小的参数递归求解,直至终止条件满足。

7.9.3 递归示例

递归:先递进,再回归。

7.9.3.1 阶乘定义

  • n! = n * (n-1) * (n-2) * ... * 1

  • 递归公式:n! = n * (n-1)!,终止条件:0! = 1

示例代码:

def factorial(n):
    # 终止条件:n为0或1时,返回1
    if n == 0 or n == 1:
        return 1
    # 递归调用:n * (n-1)!
    return n * factorial(n - 1)

# 测试
print(factorial(6))  # 输出 720
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐