渐近记号(Asymptotic Notations)
1. 定义
渐近记号是用来描述算法渐近运行时间的记号,是根据定义域为自然数集N={0, 1, 2, ……}的函数来定义的。我们通常使用渐近记号来描述算法的运算时间。接下来,会介绍一些基本的渐近记号。
2. O记号(big-Oh)
2.1 定义
f(n) = O(g(n))——There exists constant c > 0 and n0 such that f(n) < c * g(n) for n >= n0.
存在正常数c和n0,使得对于任意的n >= n0,f(n) <= c * g(n)。
我们常使用O记号来给出函数的一个在常量因子内的上界,其中g(n)只要求是渐进上界,并非渐近确界 (即3n^2 + 4n + 5 = O( n^2 )成立,但其实3n^2 + 4n + 5 = O(n^1000000)也成立)。
2.2 举例
2.2.1 常见举例
- 3n^2 + 4n + 5 = O(n^2)
- log10 n = O(log2 n) = O(log n) (默认情况下log以2为底)
- sin n = O(1)
- 10^10 = O(1)
- nΣi=1 i^2 = O(n^3)
- nΣi=1 i = O(n^2) <

本文详细介绍了算法分析中的渐近记号,包括O记号、Ω记号和θ记号的定义、应用及证明方法,帮助理解算法的渐近运行时间。
最低0.47元/天 解锁文章
2087

被折叠的 条评论
为什么被折叠?



