大O保持恒定的时间复杂度

时间:2019-04-05 15:28:54

标签: algorithm data-structures

如果我具有恒定的时间复杂度(例如c1 + c2 + c3),那么我知道它将花费线性时间。我想用大O表示法表达它。如果时间复杂度是f(n)= 2n + 3,那么我们写O(n)然后证明f(n)

2 个答案:

答案 0 :(得分:0)

如果您知道算法的时间复杂度是某些常数(例如c1 + c2 + c3)的组合,则可以定义函数f(x)= c1 + c2 + c3 = c。然后,使用大O的定义,即

  

f(x)= O(g(x)),因为x达到无穷大

     

当且仅当存在一个正实数M和一个实数x0使得

     

| f(x)| <=所有x的Mg(x)> = x0

我们可以说f(x)= c是g(x)= 1的O(1)。原因是我们可以通过选择M为常数c来满足上述定义的要求,而x0不无关紧要,因为时间复杂度不取决于x的值。

答案 1 :(得分:-1)

恒定时间复杂度为O(1)。