负多项式的大O复杂性

时间:2012-10-23 21:26:49

标签: complexity-theory big-o

我知道以下等式的大复杂度是O(n ^ 3)

  

4n ^ 3 + 6n + 6

因为n ^ 3是主导词。

同一函数的大复杂度是否相同,但负系数是否相同?

  

-4n ^ 3 + 6n + 6

2 个答案:

答案 0 :(得分:3)

我们正式分析monotonically increasing function。 这是渐近复杂性的正式定义所暗示的。

让我们看一下definitions, at wikipedia

  

一个写

     

f(x)= O(g(x))为x - > INF

     

当且仅当存在正常数M以便对所有人而言   足够大的x,f(x)值最多M乘以g(x)   绝对值。也就是说,当且仅当存在时,f(x)= O(g(x))   正实数M和实数x0使得

     

| F(X)| < = M | g(x)|对于所有x> x0

如您所见,此定义适用于绝对值

在其他一些来源(如关于数据结构和算法的书籍)中,您可能会发现没有绝对值的定义,但在某处假设分析函数是单调递增的(警告:有时假设隐藏在书籍参考中或隐含在分析的宇宙的属性中)。

总结:渐近分析旨在用于单调递增函数。有时它是由假设强制执行的,有时候是通过等式中的绝对值来实现的。

您可能会发现其他类似的问题,例如this another SO answer,但结论相同。

答案 1 :(得分:2)

实际上,如果你在big-O计算中有负面条款,你可以忽略它们,因为它们会让你赢得时间

在这种情况下,复杂性为O(n)

不知道哪种类型的算法可以对应但是为了回答一般问题,你可能有类似O(an^2 - bn)的东西会给{{1} }}复杂度。

修改

找到一个有趣的相关问题,关于time travelling in algorithm solving