我的数据结构分析CS课程现在正在复杂的复杂课程。我的作业是找出在相同的时间内可以解决的问题:
a。)复杂性类
b。)问题规模
c。)当前机器解决该问题大小所花费的时间
d。)机器的速度加倍
第一个问题的复杂度等级为O(N的对数基数为2),大小为10 ^ 6,可以在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