一、大 O 记号
含义:o(g(n)) △= {
f(x)| 存在c>0, n0 >= 0,当n >= n0时, 有 f(x) <= c * g(x)}
1、若 f(n) 属于 O(g(n)), 则 f(x) 以 g(x) 为上界, 简称 f(x) = O(g(x))
2、O(g(n)) 是所有满足定义条件的集合,可以用来描述某一个 f(x) 的算法时间复杂度,下面的符号同理
3、g(n) 所表示的复杂度一般是比 f(n) 高一级别 或者是 与 f(n)同一级别的
例子:
1) 2 * n ^ 2 = O(n ^ 2)
2) n ^ 3 / 1000 != O(n ^ 2)
证明:
假设相等,则存在 c > 0, n0 >= 0, 当 n > n0 时,有
n * n * n / 1000 = c * n * n
则有:
n