【问题标题】:Exponential Big-O Equivalency指数 Big-O 等价性
【发布时间】:2016-09-30 03:43:49
【问题描述】:

我这几天一直在尝试解决一个问题。我在网上四处寻找帮助,我发现的唯一答案与我的结论相反。

问题来了:

   **3^n = 2^(O(n))   True or False?**

结论是“真”,正确答案是:

3^n = 2^(O(n)) since 3^n = 2^(n*log_2(3)) = 2^(O(n))

问题是我不知道答案是如何确定的。一步一步的过程对我来说是最好的解释。换句话说,3^n = 2^n 是如何转换为对数的,我们如何确定常数和 n >= k 的起点?

编辑: 在这个有根据的猜测中,也许更容易解释 2 和 3 的来源。解决方案有一个 3 和两个 2。

If f(n) = 3^n and g(n) = 2^n 

The 3 in 2^(n*log_2(3)) must be coming from f(n)?
The 2 in 2^(n*log_2(3)) must be coming from g(n)'s base?
----> Is the log_2 a constant?? 

换句话说,如果问题是

7^n  = 4^(O(n)) ? 

正确答案是

4^(n*log_2(7))

How is k determined, where all n >= k?

提前致谢!!!

【问题讨论】:

  • 你的教授是正确的(有点不足为奇!)。他的推理你有什么不明白的?
  • 这不是我的教授 xD。我的教授根本没有谈过这个。我想我根本不明白他们的答案,或者为什么我的答案是错误的。根据书,我的答案应该是正确的吧?我错过了什么?
  • 您的推理是错误的,因为您选择了“错误的方式”中的“c”常量。当 n > N 表达式成立时,您会找到“c”
  • 你确定吗?因为,如果是这样的话,那么为什么这个问题会问“对还是错”?如果你只能得到一个真实的答案?否则,你能解释一下他们的答案吗?我不知道他们是如何得出这个答案的。提前致谢!
  • en.wikipedia.org/wiki/Time_complexity#Exponential_time 可能在这里作为另一个参考有用。

标签: big-o computer-science


【解决方案1】:

教授说得对。他们的逻辑如下: 3^n = (2^log_2(3))^n = 2^(n*log_2(3)) = 2^O(n)

log_2(3) = z 表示“2 的 z 次方给我 3”,我们将 2 提高到这个指数,所以我们得到 3^n

基本上,他们表明,通过将2^x 中的指数乘以一个常数,您可以将底数更改为 3。Big O 会丢弃常数,因此底数是 2 还是 3 并不重要。

编辑:

If f(n) = 3^n and g(n) = 2^n 

The 3 in 2^(n*log_2(3)) must be coming from f(n)?
The 2 in 2^(n*log_2(3)) must be coming from g(n)'s base?
----> Is the log_2 a constant?? 

我不确定你想在这里问什么。 log_2 的常数是常数。

4^(n*log_2(7))

Where k = 7, and n >= 7 and 2 is the constant 'c'?

您的“答案”应该是7^n = 4^O(n)。你的显示方式是7^n = 4^(n*log_4(7)) = 4^O(n),就像4^log_4(7) = 7

【讨论】:

  • 实际上我删除了它,不确定它是否正确,因为根据关于指数的教科书引用,它看起来确实是你应该做的。 @FoxDonut 我现在正试图理解它。
  • 是的,我想你在看我选择的随机常数,哈哈
  • 我真的很感激。在遵循本书的示例时,我可能离得那么远,这似乎真的很奇怪。问题是我无法获得答案。如果你愿意,我可以给文字拍照,这样你就可以看到整个段落。
  • 您对 Big O 的定义不完整。你需要选择一个足够高的起点。看到这个:en.m.wikipedia.org/wiki/Big_O_notation#Formal_definition。这张图片也可能有帮助,请注意 cg(n) 仅在某个点 k 之后才成为上限:xlinux.nist.gov/dads/Images/bigOGraph.gif
  • 我添加了段落。不幸的是,这就是本章中有关该主题的所有信息。我会看看你提供的链接。此外,如果 f(n) 不总是 = 到 O(g(n)),那么答案会不会是错误的?你说是过了某个时间点对吧?
猜你喜欢
  • 2011-11-14
  • 2011-02-28
  • 2011-01-11
  • 2022-10-04
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多