我可以将C值更改为3n³+ 4n-5 == O(n²)为真吗?
例如:
3n³+ 4n-5 <=3000n²+4000n²==7000n²
C = 7000
答案 0 :(得分:9)
不,你不能。 C必须是一个不依赖于n的常数。如果你的n足够大,那么对于任何预先确定的C,你总是会更高。
答案 1 :(得分:5)
F(X)= O(G(X));意味着存在一个常数C,使得 -
| F(X)|&LT; = C | G(X)|对于所有非常大的x值。
因此,在等式3n³+ 4n-5 == O(n²)中,您将找不到任何常数,使得|3n³+ 4n-5 |&lt; = C。|n²|。因此,这种情况是不可能的。但是你会发现常数c使得|3n³+ 4n-5 |&lt; = C。|n³|。所以
3n³+4n-5==O(n³) is possible.
答案 2 :(得分:3)
定义是f(x)
属于O(g(x))
当且仅当限制limsupx → ∞ (f(x)/g(x))
存在时,即不是无穷大。简而言之,这意味着存在常数M
,因此f(x)/g(x)
的值永远不会大于M
。让我们为您的函数尝试此操作:f(x)/g(x)= (3n³+4n-5)/n²
。为简单起见,您可以认为此函数的增长速度与3n³/n²=3n
大致相同。我认为这个功能很明显不受任何常数的限制。因此,无论你选择什么常数(3n³+4n-5)/n²
总是会比它更大,因为这个函数无限增长。