解释为什么“算法A的运行时间至少是O(
)”是无意义的。
解答:
回答这道题我们可以回到O的定义中。O的形式化定义如下:
O(g(n)) = { f(n): 存在正常量和c,使得对所有n
,有0
f(n)
cg(n) } 。
当我们说“算法A的运行时间至少是O()”时,如果把算法的运行时间用T(n)表示,那么我们等于在说,T(n)
O(
) 。
我们试举算法T(n) = 0 。即使T(n) = 0,我们说它的运行时间至少是O() 也依然是正确的,也就是说不管算法T(n) = 0,还是T(n) = n,或者任何别的等式,我们说它的运行时间至少是O(
)都会是正确的。所以本描述无意义。