算法标记

这里只在正数范围讨论:

theta

f(n)=Θ(g(n))

表示:

存在常数c1,c2,和n0

当n>n0时有

c1*g(n)<f(n)<c2*g(n)

大O

f(n)=O(g(n))

表示:

g(n)是f(n)的渐进上限

比如fn = n^2, gn = n^3

n^2 = O(n^3) 或 2n = O(4n);

 

大O与Θ的比较:

Θ要比大O条件严格。集合上来说Θ < O 

比如有3n^2 + 2n + 1 = Θ(n^2);

而3n^2 + 2n + 1 = O(n^3) 也可以有3n^2 + 2n + 1 = O(n^4)

 

我是这样理解的,Θ是一个“严格”上限既最小上限。而大O一般则用来表示是最坏运算时间。

posted @ 2012-11-07 11:15  sayALittle  阅读(310)  评论(0编辑  收藏  举报
点击这里给我发消息