算法复杂性大O,小O,大欧米茄,小欧米茄,Theta

时间:2015-04-21 18:12:35

标签: algorithm big-o time-complexity bounds big-theta

以下是我正在使用的问题

For each pair of expressions, indicate whether A is O, o, Ω, ω, or Θ of B.

enter image description here

我理解的是上限,omega是下限,theta是上限和下限。我对小o和小omega的推断感到困惑。

我非常确定a(B ^)中的B与...(n ^ 3)> (n ^ 2),但我不确定其他一切。 我想知道是否有人可以给我一些如何测试每一个的步骤。我已经检查了维基百科和一些教育网站,但它不是很清楚,并且没有很多测试它们的例子。

感谢

1 个答案:

答案 0 :(得分:3)

取自Big O notation on Wikipedia

  

O符号和o符号的定义相似。主要的   区别在于 f(n)= O(g(n)),绑定 0<=f(n)<=c*g(n)   等待"some constant c>0",但 f(n)= o(g(n)),界限    0<=f(n)<=o(g(n)) 适用于"all constants c>0"

     

在o-notation中,函数f(n)相对于函数变得微不足道   g(n)为n->∞: -

enter image description here //严格的小写符号

lim n->∞ f(n) / g(n) = c,     `c closer to 0`  // for strict Big-O notation

同样,对于小欧米茄表示法,

lim (x->infinity) f(x)/ g(x) = infinity

然而,对于严格的Big-Omega符号

lim n->∞ f(n) / g(n) = c,       `c closer to ∞`  

所以,现在回答你的问题,

1. lim n-> ∞ A(n)/B(n) = lim n-> ∞ {(4*n^3 - 12*n^2 + 5*n) / 36*n^2}
                         = lim n-> ∞ (n/9 - ...)
                         = ∞.

因此,A(n)是ω(B(n))。

2. lim n -> ∞ A(n)/B(n) = lim n-> ∞ (5^n/n^5)
                        = lim n-> ∞ (5*5*5*...n times)/(n*n*n*n*n)
                        = Depends on the value of n

因此,A(n)是Ω(g(n))。

其他两个作为练习留给你。如果您有任何问题,请进一步发表评论。祝你好运解决问题。