Time complexity 如何证明常数为O(1)

Time complexity 如何证明常数为O(1),time-complexity,big-o,Time Complexity,Big O,你怎么可能证明2是O(1) 再者,你如何证明一个常数是θ(1),因此ω(1)和O(1) 对于O,我的印象是,你可以对f(n)做一个简化,由此可以把它简化为1,但这怎么能证明对于某些n0,2是O(1)?在这种情况下,n0的值是多少?根据定义,如果存在常数n0和M,则函数f位于O(1)中,使得f(n)≤M·1=所有n的M≥不 如果f(n)被定义为2,那么只需设置M=2(或任何更大的值;无所谓)和n0=1(或任何更大的值;无所谓),即可满足条件 […]对于某些n0,2是O(1)?在这种情况下,n0值是

你怎么可能证明2是O(1)

再者,你如何证明一个常数是θ(1),因此ω(1)和O(1)

对于O,我的印象是,你可以对f(n)做一个简化,由此可以把它简化为1,但这怎么能证明对于某些n0,2是O(1)?在这种情况下,n0的值是多少?

根据定义,如果存在常数n0和M,则函数f位于O(1)中,使得f(n)≤M·1=所有n的M≥不

如果f(n)被定义为2,那么只需设置M=2(或任何更大的值;无所谓)和n0=1(或任何更大的值;无所谓),即可满足条件

[…]对于某些n0,2是O(1)?在这种情况下,n0值是多少


n0不是这里的参数;对于某些n0来说,说“O(1)”是没有意义的。可以任意选择使f满足条件的n0的任何值;如果存在,则f是O(1),周期。

较大的Oh和θ,因此不表示算法所用的时间。它们表示随着算法输入的增加,时间增长率。当你明白了这一点,事情就变得很简单,也就不那么数学化了。f(x)=2{for all and any x}始终是O(1),因为输出值(2)根本不依赖于输入值(x)!O(1)代表这种独立性。θ(1)和ω(1)也是如此。

2也是大θ(1)的情况吗?@Sam11112:是的,出于同样的原因(以及同样的论点)。如果你介绍数学,我会理解得更好。那么答案应该很清楚!f是一个独立于x值的函数。因此,对于给定的一系列x值,它可以减少到一个点(在您的例子中为2)。因为一个点不可能有变化的顺序,所以它属于O(1)的渐近可能重复