B2.4.4–5 · HL 递归

递归求和

Python · 逐步执行

递归求和

观察调用如何逐层增加、到达基本情况,再按相反顺序返回。

选择“播放”或“下一行”,跟踪 Python 的执行过程。

Python 实现

高亮表示下一条将执行的语句。数值显示执行该行之前的状态。

def recursive_sum(n):    if n == 0:        return 0    subtotal = recursive_sum(n - 1)    return n + subtotal

B2.4.5:简单的非分支递归函数。每次调用最多产生一次递归调用。对于非负的 n,时间复杂度为 O(n),调用栈辅助空间为 O(n)。循环实现可使用 O(1) 辅助空间。

继续探索

返回递归课程 →

所有 B2.4 动画 →

所有练习与资源 →