f = Ω(log n) 和 g = O(n) 是 g(n) = O(f (n))
Posted
技术标签:
【中文标题】f = Ω(log n) 和 g = O(n) 是 g(n) = O(f (n))【英文标题】:f = Ω(log n) and g = O(n) is g(n) = O(f (n)) 【发布时间】:2022-01-20 15:55:36 【问题描述】:给定两个函数 f = Ω(log n) 和 g = O(n),考虑以下语句。为了 每个陈述,写出是真是假。对于每个错误的陈述,写两个 显示反例的函数 f 和 g。
1) g(n) = O(f (n))
2) f (n) = O(g(n))
3) f (n) = Ω(log (g(n)))
4) f (n) = Θ(log (g(n)))
5) f (n) + g(n) = Ω(log n)
我知道 Big O 的意思是不比 (function) 好,而 Big Omega 的意思是不比 (function) 差。但我不知道这是否使上述说法正确或错误。
【问题讨论】:
我投票结束这个问题,因为它是一个数学问题,而不是一个编程问题。您可以在 Mathematics 或 Computer Science 上提出类似的问题,但请务必在发布前查看他们的问题指南。 我认为你的定义颠倒了。 formal definitions can be found here. 【参考方案1】:错误。一个反例是g(n) = n \in O(n)
和f(n) = log(n) \in Omega(log(n))
。这两个假设都是正确的,但g(n)
不在O(f(n))
中。
错误。一个反例是g(n) = log(n) \in O(n)
和f(n) = n \in Omega(log(n))
,但f(n)
不在O(g(n))
中。
没错。如f(n) \in Omega(log(n))
,表示lim_n\to\infty f(n)/log(n) > 0
。作为g(n) \in O(n)
,我们可以直接得出结论lim_n\to\infty f(n)/log(g(n)) > 0
。因此f(n) \in Omega(log(g(n))
。
错误。一个反例是f(n) = n \in Omega(n)
和g(n) = log(n) \in O(n)
,但f(n)
不在theta(g(n)) = theta(log(n))
中。
没错。如f(n) \in Omega(log(n))
,表示lim_n\to\infty f(n)/log(n) > 0
。因此A = lim_n\to\infty (f(n) + g(n))/log(g(n)) = f(n)/log(n) + g(n)/log(n)
。因此,作为g(n) > 0
,A > 0
,它的意思是f(n) + g(n) \in Omega(log(n))
。
【讨论】:
谢谢先生,但我该如何解决 @AhmedAli 随时。 “解决它”是什么意思?这些是一些真/假问题,我通过相应符号的定义来证明它们或通过反例来反驳它们。 我试过这样的事情,但我不知道这是否正确 f(n)= Ω(log n) 所以 f(n) > constant1 * log n 和 g(n) = O(n ) 所以 g(n) @AhmedAli 正如我所反驳的那样,这种说法是不正确的。有一个反例。因此,不幸的是,您的证明似乎对陈述 1 不正确。 好的,我会尽力理解这一点,但非常感谢您以上是关于f = Ω(log n) 和 g = O(n) 是 g(n) = O(f (n))的主要内容,如果未能解决你的问题,请参考以下文章