复杂性等级:机器速度加倍,在x时间内可以解决的尺寸有多大?

时间:2015-10-19 05:28:55

标签: algorithm data-structures time-complexity

我的数据结构分析CS课程现在正在复杂的复杂课程。我的作业是找出在相同的时间内可以解决的问题:

a。)复杂性类

b。)问题规模

c。)当前机器解决该问题大小所花费的时间

d。)机器的速度加倍

第一个问题的复杂度等级为O(N的对数基数为2),大小为10 ^ 6,可以在1秒内解决(对于当前计算机)。我如何开始弄清楚还能从中解决多少?我知道如果它增加了一定数量的因子如何解决一个类,但不是这个!

任何有助于我了解如何解决这个问题的事情都将不胜感激!

1 个答案:

答案 0 :(得分:0)

对数复杂度表示您的任务:

Old set, on slow machine:
K * Log(N) = 1 (seconds)
New set, fast machine:
K * Log(M) = 1
New set, slow machine: (twice as slow)
K * Log(M) = 2

现在你可以比较

2 * K * Log(N) = K * Log(M)
Log(M) = 2 * Log(N) = Log(N^2)
M = N^2

因此,在1秒内可以在更快的机器上解决的集合的大小是N平方,在你的情况下是10 ^ 12

相关问题