当n> 1000时,O(1000n)= O(n)

时间:2014-04-16 12:34:43

标签: time-complexity

如果明确给出n>>> 1000,那么O(1000n)可以被认为是O(n)?? 换句话说,如果我们要在O(n)&中解决问题(其也表明n>>> 1000)。我的解决方案的复杂性是O(1000n),我的解决方案是否可以接受?

3 个答案:

答案 0 :(得分:3)

如果函数为O(1000n),则它也自动为O(n)。

毕竟,如果f(n)是O(1000n),那么存在一个常数M和一个n0,这样

f(n) <= M*1000n

对于所有n&gt; N0。但如果这是真的,那么我们可以采用N = 1000 * M和

f(n) <= N*n

对于所有n&gt; N0。因此,f也是O(n)。

常数因素&#34;辍学&#34;在大O符号。请参阅Wikipedia,&#34;乘以常数&#34;。

答案 1 :(得分:2)

你的解是多项式时间,所以当n任意大时,任何常数都不重要。所以是的,你的解决方案是可以接受的。

答案 2 :(得分:1)

是的,前提是n远大于1000