【发布时间】:2008-10-19 19:23:25
【问题描述】:
我目前正在处理一项涉及 Big-O 和运行时间的任务。我向我提出了一个似乎很容易的问题,但我不确定我是否做得正确。其余的题都比较难,感觉这里漏了点什么。
首先,你有这些东西: 算法A,运行时间为50n^3。 计算机 A,每次操作的速度为 1 毫秒。 计算机 B,每次操作的速度为 2 毫秒。 大小为 300 的实例。
我想知道算法 A 在计算机 A 上解决这个实例需要多长时间,以及在计算机 B 上需要多长时间。
我想做的是 n 小于 300,所以你有 50*(300^2) = 4500000。
然后,将第一台计算机乘以 1,第二台计算机乘以 2。
不过,这让我感觉很奇怪,因为它说“运行时间”是 50n^3,而不是“操作数是 50n^3”,所以我觉得我在乘以时间, 并且会以毫秒为单位结束,这似乎完全不正确。
我想知道我是否正确,如果不是,这个问题的实际含义。
【问题讨论】:
-
只是想指出您从描述中的 50n^3 到计算中的 50n^2。不用说,这会对您获得的结果产生很大影响。
标签: performance complexity-theory