【问题标题】:Is ϴ(n)/n = ϴ(1)?是 ϴ(n)/n = ϴ(1) 吗?
【发布时间】:2021-11-03 00:14:43
【问题描述】:

我遇到了以下等式:

所以 ϴ(n)/n (或 ϴ(n)/(n+1)) = ϴ(1)?如果是,请通过示例帮助我理解原因。

【问题讨论】:

  • 这是为了数学。网站?
  • 您好!数学问题在 StackOverflow 上是题外话。请参阅help center,了解您可以询问听到的主题。您可以在Mathematics StackExchange 上提出这个问题,但请务必在提问前查看他们的发布指南。
  • 我投票结束这个问题,因为它不是help center 中定义的范围内的编程问题。
  • 这更像是一道计算机科学/算法理论题,而不是一道数学题。
  • @jxh 我同意。我认为数学堆栈交换可能会对这个问题嗤之以鼻。另外,我认为 Bhavesh 想要一些代码示例。

标签: algorithm big-o computer-science complexity-theory


【解决方案1】:

ϴ(n) 表示复杂的算法,例如 n、2n、3n、4n 等。 em> 您可以将 ϴ(n) 视为表示类似 kn 的东西,其中 k 是一个正实数。

kn/n当然是k,你也可以把它想成是什么ϴ(1) 表示。

kn/(n+1) 收敛于 kn- >∞。您可以使用 L'Hopital's 来确认这一点。

如果您不熟悉 Big-Theta 和 Big-O,将 ϴ(n) 解读为“n 阶”会有所帮助;同样,ϴ(n2),“在 n 平方的数量级上”;等等。

编辑: 请注意,我的回答语气是故意不正式的。准确的概念化是根据边界函数来考虑 ϴ(n)。请参阅下面的 Paul Hankins cmets。虽然在日常使用中我认为上述理解是有帮助的,但我建议您听取他的建议和关注。

为了确保至少他的一些笔记也能在这里得到体现,我补充说 O 复杂度的正式定义如下:

一个函数f(x)可以说是O(g(x))如果存在 |f(x)| = x0 其中 M 是一个正实数。

ϴ(g(x)) 也满足 |f(x)| >= Mg(x) ∀ x >= x0 其中 M 是一个正实数。

希望这与上面的示例相比没有太大的飞跃。您现在可以提出问题:Max 除以 xMb(1) 为界?

【讨论】:

  • 这个答案有赞成票并已被接受,但它包含一些我认为令人困惑的东西,即使答案的意图是有帮助的。 Theta(n) 不像 kn - 它是一组函数,其大小(最终)由线性函数上下限定。 Theta(1) 不是“本质上”的常数——它是一组函数,其大小最终由常数上下限定。 |cos(n)|n + 5n|sin(n)|例如,是 Theta(n),但对于任何 k,它都不像 kn。
  • 我理解这样的答案的意图 - 实际定义需要一些工作才能理解,并且可以通过简化概念来了解复杂性,直到它们易于掌握而不需要太多工作.但实际上与实际定义不同的简化解释充其量只是实际理解的垫脚石,在实践中,对于实际的复杂性存在很多困惑,我认为它们没有帮助。
  • 我同意你的看法。为了准确理解,最好考虑有界函数。也许最好写出这样的答案,然后我的可以成为你的垫脚石。
  • Lmk,如果这更接近您认为足够的值。
  • 我不打算进一步讨论这个问题,因为我已经说了我认为重要的内容。不过我会说,你对 big-Theta 的定义实际上就是 big-O 的定义。
猜你喜欢
  • 2020-06-01
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-29
  • 1970-01-01
  • 2012-06-24
  • 2014-11-09
相关资源
最近更新 更多