当T(N)=O(2^N)时,如何计算提高CPU速度的效果

  • 本文关键字:计算 CPU 速度 何计算 big-o
  • 更新时间 :
  • 英文 :


我看到了以下场景:算法A是O(2^n)。我可以更快地选择10倍的CPU,也可以选择O(n^2)的算法B。显然,我会选择算法B,但我需要从数学上证明这一点,而不仅仅是通过推理。

有人告诉我,算法B可以让我解决一个大(2^n/n^2)倍的问题。这一点我理解。到目前为止还不错。

但它继续说,更快的CPU允许我解决一个大(大约n+3)倍的问题(n+log 10)。

他们是如何从(2^n/10)中得到(n+log 10)的?

解决问题所需的时间是工作量除以CPU速度,对于第一个算法,可以表示为(2^n)/speed。将速度乘以10,即为(2^n)/(10*速度)。他们所说的"允许你解决X更大的问题"的真正含义是"允许你在相同的时间内解决更大的难题"

因此,(2^n)/速度=(2^(n+大))/(10*速度)。用代数方法求解biggerness,最终得到biggerness=速度log 10。

最新更新