Big -oh 的定义中的 No 是不是应该是两条曲线的交点?

Posted

技术标签:

【中文标题】Big -oh 的定义中的 No 是不是应该是两条曲线的交点?【英文标题】:Should No in the definition of Big -oh have to be the intersection of the two curves?Big -oh 的定义中的 No 是否应该是两条曲线的交点? 【发布时间】:2020-04-17 11:48:33 【问题描述】:

在上图中,很明显n0是正数。让我们假设 f(n)=3n+2g(n)=n

根据 Big-omega f(n)>=cg(n) => 3n+2>=cn 的定义。

以上两条线f(n)=3n+2g(n)=n在坐标轴第三象限的n=-1相交。

如果我能发现上述不等式适用于 c=1n0 = 1,我为什么还要考虑交集。

在上述情况下,n0 不是正象限的交点。 我可以为 n0 选择任何正值以便满足不等式还是应该 n0 始终是路口?

【问题讨论】:

目前还不清楚这是一个编程问题。这看起来应该属于Mathematics。 交集不相关。事实上,它只是为常量c特定 值定义的。您所指的 Big-O 的定义允许您为 cn0 选择任何大于 0 的值。将 n0 视为“非常大”会有所帮助 【参考方案1】:

n0 视为 分离点,这样对于所有 n > n0,保证 Ω(f) > Ω(cg)。这对于理解某些算法中的失败案例很重要。在上图中,我可以看到有一些数据量小于 n0,其中函数 g() 提供了卓越的性能。

让我们用一个尖锐的例子来考虑它。假设 g()BubbleSort 并且 f()RadixSort (我们将假设 K 位整数对于这个例子)。在这种情况下,n0=K:对于所有长度为 nK 的集合em>,在最佳情况下,BubbleSort 实际上比 RadixSort 表现得更好!

现在,假设我确实以某种方式搞砸了 BubbleSort 的实现(或者我正在并行运行它的多个实例)。那么,只要cn K,那么Ω(cg) f)。

【讨论】:

以上是关于Big -oh 的定义中的 No 是不是应该是两条曲线的交点?的主要内容,如果未能解决你的问题,请参考以下文章

[NOI2018]情报中心

[NOI2018]情报中心

[NOI2018]情报中心

Codeforces757D Felicity's Big Secret Revealed

luogu p1004

html中如何实现下面的这种分割线效果?(图)求大神解答~~