【问题标题】:f = Ω(log n) and g = O(n) is g(n) = O(f (n))f = Ω(log n) 和 g = O(n) 是 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) 差。但我不知道这是否使上述说法正确或错误。

【问题讨论】:

标签: algorithm big-o computer-science


【解决方案1】:
  1. 错误。一个反例是g(n) = n \in O(n)f(n) = log(n) \in Omega(log(n))。这两个假设都是正确的,但g(n)不在O(f(n))中。

  2. 错误。一个反例是g(n) = log(n) \in O(n)f(n) = n \in Omega(log(n)),但f(n) 不在O(g(n)) 中。

  3. 没错。如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))

  4. 错误。一个反例是f(n) = n \in Omega(n)g(n) = log(n) \in O(n),但f(n) 不在theta(g(n)) = theta(log(n)) 中。

  5. 没错。如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) > 0A > 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 不正确。
  • 好的,我会尽力理解这一点,但非常感谢您
猜你喜欢
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-29
  • 2012-04-13
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多