算法分析
一、 渐进符号
O符号 (大O符号)
定义: 常数c, n0 c> 0 , n0 > 0
使得 $f(n) \leq O(g(n))$ 对于充分大的 n 成立, n >= n0
Ex: $ 2n^2 = O(n^3) $ 等号是不对称的
不是等于 => 是一种 属于的关系
用法
$ f(n) = n^3 + O(n^2)$ 表示
$ f(n) = n^3 + O(n^2) \ \exists h(n) \in O(n^2) => f(n) = n^3 + h(n) , 存在 n > n_0$
有低阶项以某个常数 * $n^2$ 为 界
Ex $ n^ 2 +O(n) = O(n^2)$ 此处不对称, 表示 is
任何$n^2 +O(n)$ 都是 $O(n^2)$ 反之不然
$ means \ for \ any \ f(n) \in O(n) \ there \ is \ an \ h(n) \in O(n^2) \ such \ that \ n^2 + f(n) = h(n) $