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