这是一项家庭作业,我只是被负号抛出一点点。
以big-O表示法表达以下内容。尽可能使用最严格的界限。例如,n5在技术上是O(n1000),但这并不像O(n5)那么紧。
n 2 -500n-2
答案 0 :(得分:1)
是O(n^2)
是正确的。负号不应该打扰你。是的,如果是n = 10
,那么它就是一个负数,但如果n
足够大会怎么样?
E.g。请参阅以下两个图表:link - n^2
对于足够大的n
总是大于n^2-500n-2
。
答案 1 :(得分:1)
对于Big O表示法,您需要记住的是,它只对某些数字x 0 以及所有数字高于此值。如果有一些数字f(x)= O(g(x))
和一些实数x 0 ,那么M
如果x接近无穷大,那么|f(x)| <= M|g(x)|
对于所有x&gt; = x 0 子>。 (Source for equations, wikipedia)
基本上,我们只需要考虑x的大值,你可以选择一个任意大的值。实际上如此之大n^2
将使500n
的减法蒙上阴影。如果我选择M为2且x 0 为100000000000000000,则更具技术性。然后上述等式成立。我很懒,并且选择了一个非常大的x 0 但这个等式让我。对于等于2的M,x 0 的值会小得多,但同样重要的是,它无关紧要。
最后,您对O(n^2)
的回答是正确的