如果一个算法在那个时间运行,那么是否有可能有一个小o和小omega的函数?
我知道如果函数有theta时间,那么它意味着它也有一个很大的o和omega函数。
如果有可能,你能给出一个例子。
答案 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"
运行。