Algorithm 大Oh,小Oh和大θ的关系

Algorithm 大Oh,小Oh和大θ的关系,algorithm,math,asymptotic-complexity,calculus,Algorithm,Math,Asymptotic Complexity,Calculus,如果一个函数f(x)=O(g(x)),那么f(x)=Ω(g(x))和f(x)=ϴ(g(x)),但如果f(x)=O(g(x)),f(x)=Ω(g(x))或f(x)=ω(g(x)),有可能吗 f(n) = o(g(n)) <=> forall c > 0 exists k > 0 s.t. 0 <= f(n) < cg(n) forall n >= k. <=> g(n) = ω(f(n)) f(n) = O(g(n)) <=> e

如果一个函数f(x)=O(g(x)),那么f(x)=Ω(g(x))和f(x)=ϴ(g(x)),但如果f(x)=O(g(x)),f(x)=Ω(g(x))或f(x)=ω(g(x)),有可能吗

f(n) = o(g(n))
<=> forall c > 0 exists k > 0 s.t. 0 <= f(n) < cg(n) forall n >= k.
<=> g(n) = ω(f(n))

f(n) = O(g(n))
<=> exists c > 0 exists k > 0 s.t. 0 <= f(n) < cg(n) forall n >= k.
<=> g(n) = Ω(f(n))

f(n) = ϴ(g(n))
<=> f(n) = O(g(n)) and g(n) = O(f(n))
这必须适用于任何
c>0
选项。关于
c
我们所知道的只是一个存在;但是只要
f(n)
g(n)
严格大于零,我们就知道一定有一个最小的
c
起作用。让
c'
成为
c
k'
的最小有效选择。然后我们可以选择
c'=1/c'
。因此,我们需要

0 < g(k'') < g(k'')
0
这总是错误的。因此,只要
f(n)
g(n)
不(最终)等于零,我们就不能同时拥有
f(n)=o(g(n))
f(n)=Ω(g(n))


由于
f(n)=ω(g(n))
意味着
f(n)=Ω(g(n))
,根据我们的假设,我们知道后者不是真的,那么我们也可以安全地回答问题2的否定。

我们给出了一些正式的定义:

f(n) = o(g(n))
<=> forall c > 0 exists k > 0 s.t. 0 <= f(n) < cg(n) forall n >= k.
<=> g(n) = ω(f(n))

f(n) = O(g(n))
<=> exists c > 0 exists k > 0 s.t. 0 <= f(n) < cg(n) forall n >= k.
<=> g(n) = Ω(f(n))

f(n) = ϴ(g(n))
<=> f(n) = O(g(n)) and g(n) = O(f(n))
这必须适用于任何
c>0
选项。关于
c
我们所知道的只是一个存在;但是只要
f(n)
g(n)
严格大于零,我们就知道一定有一个最小的
c
起作用。让
c'
成为
c
k'
的最小有效选择。然后我们可以选择
c'=1/c'
。因此,我们需要

0 < g(k'') < g(k'')
0
这总是错误的。因此,只要
f(n)
g(n)
不(最终)等于零,我们就不能同时拥有
f(n)=o(g(n))
f(n)=Ω(g(n))


既然
f(n)=ω(g(n))
意味着
f(n)=Ω(g(n))
,根据我们的假设,我们知道后者不是真的,那么我们也可以安全地回答问题2的否定。

这与编程有什么关系?也许可以试试数学堆栈交换站点这是如何编程的?也许可以试试数学堆栈交换站点