例子:
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 <1000* c
这与 n > n0 矛盾,所以假设不成立
3) n !=O(log n)// 代表以 2 为底的对数4) n ^2!=O(n log n)
证明:
假设相等,则存在 c >0, n0 >0, 当 n > n0 时,有
n * n <= c * n * log n
=> n <= c * log n
当 c 超级大的时候,随着 n 的增大, 总有一时刻, n 要大于 c , 于是 c 对于不等式的
影响便变得微乎及微,相当于 n <= log n, 而从数学角度上看, 这是不对的
1、渐进分析:当 n 足够大的时候 f(x) 的渐进, 所以, 对于常数而言,总有一时刻 n 大于 c , 这之后 常数的
影响便逐渐减小,因此,在算法复杂度考虑的时候,通常会忽略常数。
二、 大 Ω 记号
含义:Ω(g(n)) △={f(x)| 存在 c >0, n0 >=0, Ωn > no 是, 有 f(x)>=g(n)}