一、时间规模的直觉

事件 时间 量级
宇宙大爆炸至今 ~138 亿年 $10^{21}$ sec = $10 \times (10^{10})^2$
“三生三世” ~300 年 $10^{10}$ sec
100 年   $3 \times 10^9$ sec
1 天 24 小时 $10^5$ sec

二、复杂度层级

类型 记号 说明
常数 $O(1)$ 与输入规模无关
对数 $O(\log n)$ 见下方换底/幂次性质
线性 $O(n)$  
$O(n^c)$  
指数 $O(a^n)$ 不可忍受

对数复杂度的两个性质

换底公式:$\log_a n = \log_a b \cdot \log_b n$,其中 $\log_a b$ 是常数,所以对数底数在 $O$ 记号中无所谓

幂次法则:$\log(n^c) = c \cdot \log n$,其中 $c$ 是常数,所以 $O(\log n^c) = O(\log n)$


三、等比级数求和实例

\[T(n) = O(1) \cdot (2^0 + 2^1 + 2^2 + \cdots + 2^{\log n}) = O(1) \cdot (2^{\log n + 1} - 1) = O(n)\]

理解 等比级数 $1 + 2 + 4 + \cdots + n$ 的和约为 $2n$,所以整体复杂度还是 $O(n)$,不会因为逐层倍增而”爆炸”。