算法效率

时间:2013-01-23 16:58:56

标签: performance algorithm

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

  

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

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

2 个答案:

答案 0 :(得分:9)

您将n定义为1000。因此,您需要n 3 步骤,每个步骤都采用1 ns。将两者相乘就可以得到答案。

一般想法:如果算法需要f(n)个步骤而一步需要t,那么算法需要t * f(n)

答案 1 :(得分:2)

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

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