03. 算法复杂度分析与计算复杂性理论
1. 函数的增长与渐进分析 (Growth of Functions and Asymptotic Analysis)
在算法分析中,我们关心的是当输入规模 变得非常大时,算法所需资源(如时间或空间)的增长趋势。我们使用渐进符号来描述这种增长趋势,忽略常数因子和低阶项。
1.1 核心渐进符号:, ,
这三个符号是评估算法复杂度的基石,是考试的绝对重点。它们的定义和区别必须清晰掌握。
| 符号 (Notation) | 名称 (Name) | 含义 (Meaning) | 数学定义 (Definition) | 通俗理解 |
|---|---|---|---|---|
| 大 O (Big-O) | 增长上界 (Upper Bound) | 存在正常数 ,使得对所有 ,有 | 的增长至多像 一样快 | |
| 大 Omega (Big-Omega) | 增长下界 (Lower Bound) | 存在正常数 ,使得对所有 ,有 | 的增长至少像 一样快 | |
| 大 Theta (Big-Theta) | 紧确界 (Tight Bound) | 且 | 的增长速度与 相同 |