我是否正确地做了这个大 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
- n2 - 500 n - 2
- <= n2 - 500 n
- <= n2 对于所有 n > 0
- 这是 O(n2)
是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)
的回答是正确的
这是一个家庭作业,我只是被负号弄得有点乱。
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
- n2 - 500 n - 2
- <= n2 - 500 n
- <= n2 对于所有 n > 0
- 这是 O(n2)
是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)
的回答是正确的