假设我有一个具有以下增长功能:
2000n^2 + log n
我是否可以断定该函数是属于O(n)
类别的函数集的一部分?
答案 0 :(得分:0)
否,因为O(log n)<对于任何固定的x,O(n ^ x),O(2000n ^ 2 + log(n))= O(n ^ 2)
更简单的方法是,因为O(log n)< O(n ^ x),O(log n)< O(n ^ 2)等O(2000n ^ 2 + log(n))< = O(2000n ^ 2 + n ^ 2)= O(2001n ^ 2)= O(n ^ 2)且自O( 2000n ^ 2 + log(n))具有n ^ 2项,它至少与n ^ 2一样大,给出O(2000n ^ 2 + log(n))> = O(n ^ 2)。现在我们得到O(2000n ^ 2 + log(n))< = O(n ^ 2)和O(2000n ^ 2 + log(n))> = O(n ^ 2)所以我们可以得出结论O(2000n ^ 2 + log(n))= O(n ^ 2)
答案 1 :(得分:0)
O(某个函数)是函数的限制行为。
是否存在某些C,使得C * n描述了您为所有n描述的函数的上限?
如果你仔细观察你的函数,可以将C设置为2000,使得2000 * n ^ 2 = C * n ^ 2 ...大于C * n。
所以不,它不是O(n)。