【发布时间】:2020-11-29 07:34:04
【问题描述】:
我想知道具有指数最差时间复杂度的算法是否应该始终将其表示为 O(2^n)。例如,如果我有一个算法,对于输入大小的每个加法运算操作三倍,我会将其时间复杂度写为 O(3^n),还是仍将其分类为 O(2^n)。
任何正式的解释将不胜感激。
【问题讨论】:
-
3^n与2^(log3 * n)相同。所以3^n的复杂性与2^m相同,其中m=log3*n。 -
回到定义:对于所有足够大的
n,是否有一个常数C使得3^n <= C*2^n?绘制3^n / 2^n的图表应该可以很清楚地表明答案,并且数学证明并不难。
标签: algorithm time-complexity big-o computer-science exponential