如果一个算法在这个时间运行,那么是否有可能有一个小o和小omega的函数?

时间:2015-09-19 16:18:05

标签: algorithm time-complexity

如果一个算法在那个时间运行,那么是否有可能有一个小o和小omega的函数?

我知道如果函数有theta时间,那么它意味着它也有一个很大的o和omega函数。

如果有可能,你能给出一个例子。

1 个答案:

答案 0 :(得分:1)

不,同时在小o和小omega中都不可能有这样的功能。

说你的功能是f(x)。然后,f(x) ∈ o(g(x))跟随g(x)增长的速度比f(x)快得多f(x) ∈ ω(g(x))。同样,如果g(x),则f(x)f(x) ∈ Θ(g(n))的增长速度要慢得多f(x)

因此:

  

o(f)∩ω(f)=∅。

然而,对于Theta:

  

f(x)∈Θ(g(x))iff f(x)∈O(g(x))和f(x)∈Ω(g(x))

因此对于ΩO 必须同时位于g(n)的{​​{1}}和o

如果你记得小ω是小o反向,也可能更容易理解。因此

  

f(x)∈o(g(x))< => g(x)∈ω(f(x))

作为旁注,在计算机科学中很少使用ωΘ。大多数算法都以大OΩandroid:scaleType="fitStart" 运行。