算法复杂度
一、时间规模的直觉
| 事件 | 时间 | 量级 |
|---|---|---|
| 宇宙大爆炸至今 | ~138 亿年 | sec = |
| “三生三世” | ~300 年 | sec |
| 100 年 | sec | |
| 1 天 | 24 小时 | sec |
二、复杂度层级
| 类型 | 记号 | 说明 |
|---|---|---|
| 常数 | 与输入规模无关 | |
| 对数 | 见下方换底/幂次性质 | |
| 线性 | ||
| 幂 | ||
| 指数 | 不可忍受 |
对数复杂度的两个性质
换底公式:,其中 是常数,所以对数底数在 记号中无所谓
幂次法则:,其中 是常数,所以
三、等比级数求和实例
理解
等比级数 的和约为 ,所以整体复杂度还是 ,不会因为逐层倍增而”爆炸”。
| 事件 | 时间 | 量级 |
|---|---|---|
| 宇宙大爆炸至今 | ~138 亿年 | sec = |
| “三生三世” | ~300 年 | sec |
| 100 年 | sec | |
| 1 天 | 24 小时 | sec |
| 类型 | 记号 | 说明 |
|---|---|---|
| 常数 | 与输入规模无关 | |
| 对数 | 见下方换底/幂次性质 | |
| 线性 | ||
| 幂 | ||
| 指数 | 不可忍受 |
换底公式:,其中 是常数,所以对数底数在 记号中无所谓
幂次法则:,其中 是常数,所以
理解
等比级数 的和约为 ,所以整体复杂度还是 ,不会因为逐层倍增而”爆炸”。