我是否正确地做了这个大 O 符号?

Did I do this big-O notation correctly?

这是一个家庭作业,我只是被负号弄得有点乱。

Express the following in terms of big-O notation. Use the tightest bounds possible. For instance, n5 is technically O(n1000), but this is not as tight as O(n5).

n2 −500n−2

O(n^2)是正确的。负号不应该打扰你。是的,如果 n = 10,那么它就是一个负数,但是如果 n 足够大呢?

例如看这两个图:link - n^2 对于足够大的 n 总是大于 n^2-500n-2

对于大 O 表示法,您需要记住的是,它只对某些数字 x0 和所有大于该数字的数字有影响。具体来说 f(x)= O(g(x)) 当 x 接近无穷大时如果有一些数字 M 和一些实数 x0 这样 |f(x)| <= M|g(x)| 对于所有 x >= x0(Source for equations, wikipedia).

基本上,我们只需要考虑x的大值,你可以选择任意大的值。事实上如此之大以至于 n^2 会掩盖 500n 的减法。如果我选择 M 为 2 并且 x0 为 100000000000000000 则更具技术性。那么上面的等式成立。我很懒惰,选择了一个非常大的 x0 但方程式允许我。对于等于 2 的 M,x0 的小得多的值会起作用,但同样,这并不重要。

最后,您 O(n^2) 的回答是正确的