# 递归（Recursion）

### 缩写：无

### 简述

函数直接或间接调用自身以求解问题的技巧，通常包含基线条件与逼近基线的递归步骤。适于树/图与分治；须防栈溢出，尾递归优化视语言而定。

### 使用场景

树遍历、分治算法、语法解析、某些动态规划形式。

### 组成与要点

```text
f(问题):
  if 基线: return 直接答案
  else: return 组合( f(更小问题) )
```
### 实践与应用

• 先写清基线
• 深度大时改迭代或显式栈
• 备忘录化重叠子问题

### 注意事项

• 无基线或逼近错误导致无限递归
• 依赖尾调用优化但运行时不保证

### 关联术语

• 调用栈：递归深度受栈限制
• 循环：可用迭代改写的对照
• 分治：递归常用的问题分解模式
• 基线条件：递归终止的必要条件
