大O分类

时间:2013-05-07 13:04:45

标签: big-o

假设我有一个具有以下增长功能:

2000n^2 + log n

我是否可以断定该函数是属于O(n)类别的函数集的一部分?

2 个答案:

答案 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)。