7

所以这是我作业中的一个问题......

假设算法的效率为 n 3,如果算法中的一个步骤需要 1 ns (10 -9 ) 秒),那么算法处理大小为 1,000 的输入需要多长时间?

这是我的问题:我该如何解决?请不要发布答案。帮助我学习如何自己解决这个问题。

4

2 回答 2

9

你定义n1000。因此,您需要 n 3 个步骤,每个步骤都采取1 ns. 将两者相乘,您就有了答案。

总体思路:如果一种算法需要f(n)许多步骤并且需要一步,t那么您需要t * f(n)该算法。

于 2013-01-23T17:01:38.380 回答
2

在这种情况下, ninn^3指的是数据大小。如果您有大小为 1 的输入,请将其插入到 n^3 中。(然后乘以时间。)如果你有一个大小为 1,000 的输入......你应该怎么做?

编辑:最初我用 Big-Oh 表示法(例如O(n^3))发布了这个,这是有缺陷的,因为它忽略了可能的固定成本,这会使发布的问题无法回答。我觉得我应该留下这个答案,也许主要是为了提醒其他人不要犯和我一样的错误。感谢您的评论。

于 2013-01-23T17:01:45.693 回答