递归 (Recursion)

函数直接或间接调用自身,将复杂问题分解为更小的同类问题。

示例:计算阶乘 (Factorial)

$$ n! = n \times (n-1)! $$,其中 $$ 0! = 1 $$。

int factorial(int n) {
if (n == 0) {
return 1; // 递归基
}
int temp = factorial(n - 1); // 递
return n * temp; // 归
}
栈底 (Stack Bottom)