渐进符号 阶

渐近符号

基本的渐近符号:
O 表示上界,即小于等于 ≤

o 表示小于   <

Ω 表示下界,即大于等于 ≥ (与O相反)

ω 表示大于 >   (与o相反)

Θ 表示渐近等于 =

O( f(n) ) : 给出了算法运行时间的上界 , 也就是最坏情况下的时间复杂度
Ω( f(n) ) : 给出了算法运行时间的下界 , 也就是最好情况下的时间复杂度
θ ( f(n) ) : 给出了算法运行时间的上界和下界 , 这里 θ ( f(n) ) 是渐进的确界

渐近符号O (大)

定义 :对于f(n) = O(g(n)),表示存在适当的常数 C > 0,no>0,使得 f(n) ≤ C·g(n),对于所有的n≥no  有 f(n)≤cg(n) 。

称为 f(n) 的阶小于 g(n) 的阶。

可以理解为:

f(n)是属于g(n)构成的函数集,可以定义O(g(n))为一个函数集  O(g(n)) = { f(n):存在c>0、n0>0,使得0≤f(n)≤cg(n),其中n ≥ n}

渐近符号o (小)

定义: f(n)=o(g(n)),当且仅当f(n)=O(g(n))  且f(n)!=Ω(g(n))。

渐近符号Θ

Θg(n) = Og(n)∩  Ωg(n) 。

对于 渐近符号O (大)

1.线性函数

f(n)=3n+2,当n>=2时,3n+2<=3n+n=4n。

所以f(n)=O(n),这里c = 4,n0 = 2,g(n) = n, 那么cg(n) 也就是4n 就是f(n) 的上界


2.平方函数
f(n)=2n^2+3n+3,当n>=3时,3n+3<=4n,当n>=4时,4n<n^2,f(n)=2n^2+n^2=3n^2。
f(n)=O(n^2),这里c = 3,n0 = 4, g(n) = n^2 ,那么cg(n) 也就是3n^2 就是f(n) 的上界


3.指数函数
f(n)=6*2^n+n^2,当n>=4时,n^2<=2^n,所以当n>=4,有f(n)<=6*2^n+2^n=7*2^n。
这里c是7,n0=4,f(n)=O(2^n)。


4.常数阶
f(n)=9,这里就直接记为O(1),c为9,n0为0就可以了,f(n)=9<=9*1。

原文地址:https://www.cnblogs.com/young-children/p/11448693.html