渐进记号
渐进记号分为:Θ()、Ω()、ω()、O()、o()
1. Θ记号
f(n) = Θ(g(n))
存在正常数c1,c2和n0, 使得对所有的n>=n0, 都有0<= c1 * g(n) <= f(n) <= c2 * g(n);
f(n)与g(n)在数量级上相等
我们试着证明:
第一步,我们必须确定有:
第二步,我们将两边除以n^2
C2>=1/2可以使任意n>=1,不等式右边成立
C1<=1/14可以使任意n>=7,不等式左边成立
2. O记号
f(n) = O(g(n))
存在正常数c,n0, 使得对所有的n>=n0, 都有0<= f(n) <= c * g(n);
f(n)在数量级小于等于g(n)
3. o记号
f(n) = o(g(n))
存在正常数c,n0, 使得对所有的n>=n0, 都有0<= f(n) < c * g(n);
f(n)在数量级小于g(n)
e.g.:2n = o(n2);2n 2 != o(n 2)
4. Ω记号
f(n) = Ω(g(n))
存在正常数c,n0, 使得对所有的n>=n0, 都有 0 <= c * g(n) <= f(n);
f(n)在数量级大于等于g(n)
5. ω记号
f(n) = ω(g(n))
存在正常数c,n0, 使得对所有的n>=n0, 都有 0 <= c * g(n) < f(n);
f(n)在数量级大于g(n)
性质
- 传递性
- 自反性
- 对称性
- 转置对称性