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