【问题标题】:Asymptotic Complexity, Algorithms渐近复杂度,算法
【发布时间】:2018-09-27 09:49:02
【问题描述】:

f(n) != O(g(n))g(n) != O(f(n)) 哪种情况为真?

对此我有以下我无法理解的答案:

有时是真的:对于f(n) = 1g(n) = ||n ∗ sin(n)|| 是真的,而 对于任何f(n) = O(g(n)),例如f(n) = g(n) = 1,这不是真的。

请有人帮助理解:

  1. 对于哪种情况有时是正确的?非常感谢您提供示例说明。
  2. “||”是什么意思在这个?

【问题讨论】:

  • 如果是f(n) != O(g(n)),那么它必须跟在f(n) = ω(n)之后,这立即与g(n) != O(f(n))相矛盾。 || 在您的示例中可能是绝对值。

标签: algorithm complexity-theory


【解决方案1】:

f(n) != O(g(n)) 如果对于任何给定的 k 和任何给定的 N 存在a n >= N 使得 f(n) > k*g(n)

f(n) != O(g(n))g(n) != O(f(n)) 都为 true 的示例同时将如下:让我们定义 f(n) = 0 为偶数 nf(n) = n 为奇数n。类似地,让 g(n) = n 为偶数 ng(n) = 0 为奇数 n .现在显然 f(n) > kg(n) 对于所有奇数 n 无论我们选择多大 k 和类似的 g(n) > kf(n) 对于所有甚至 n,无论 k 有多大。

f(n) = 1g(n) = ||n ∗ sin(n)|| 的示例也可以,因为 g(n) 正在振荡并获得任意大的 n 的值 0,但也获得任意大的值,这足以满足我们对 的定义f(n) != O(g(n))g(n) != O(f(n)) 因为 f 保持不变函数1

【讨论】:

  • 试图说 g(n) = n 表示奇数 n 和 g(n) = 0 表示偶数? n
  • 不,我不是想说。
猜你喜欢
  • 1970-01-01
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 2023-03-29
  • 1970-01-01
  • 2016-10-07
相关资源
最近更新 更多