第9天:迭代 vs. 递归:性能分析(阶乘)

发布: (2026年1月18日 GMT+8 01:33)
1 min read
原文: Dev.to

Source: Dev.to

递归 vs. 迭代

递归通常写起来更简洁、阅读起来更容易(尤其是处理树结构时),但它会带来代价:空间复杂度

  • 迭代 使用单个栈帧;它只是在循环中更新变量。
    空间: (O(1))

  • 递归 使用 (N) 个栈帧。例如,计算 factorial(10000) 时会在内存中压入 10,000 个帧。
    空间: (O(N))

如果递归深度过大,可能会因栈溢出而崩溃,而迭代循环则可以无限继续。

C 语言实现

// Day 9: The Two Paths
#include 

// Method 1: Recursive (The Elegant Way)
// Risks: Stack overflow for large numbers
unsigned long long factorial_rec(int n) {
    if (n
}
Back to Blog

相关文章

阅读更多 »

MiniScript 2026 路线图

2026 展望 随着 2025 接近尾声,是时候展望 2026 了!MiniScript 已经八岁。许多编程语言真的进入了它们的……