所以这是我作业中的一个问题......
鉴于算法的效率为n 3 ,如果算法中的一步需要1 ns(10 -9 )秒,则需要多长时间处理大小为1,000的输入的算法?
这是我的问题:我如何解决这个问题?请不要发布答案。帮助我学习如何为自己解决这个问题。
答案 0 :(得分:9)
您将n
定义为1000
。因此,您需要n 3 步骤,每个步骤都采用1 ns
。将两者相乘就可以得到答案。
一般想法:如果算法需要f(n)
个步骤而一步需要t
,那么算法需要t * f(n)
。
答案 1 :(得分:2)
n
中的n^3
是指这种情况下的数据大小。如果输入大小为1,请将其插入n ^ 3。 (然后将其乘以时间。)如果您输入的大小为1,000 ......您应该怎么做?
O(n^3)
),这是有缺陷的,因为它忽略了可能使问题无法回答的固定成本。我觉得我应该把这个答案留下来,或许主要是为了提醒别人不要犯同样的错误。感谢您的评论。