这是我作业中的一个问题...
假设算法的效率为n3,如果算法中的一步需要1纳秒(10-9秒),那么处理1,000个输入所需时间是多少?
下面是我的问题:我该如何计算这个问题?请不要给出答案,帮助我学会自己解决。
这是我作业中的一个问题...
假设算法的效率为n3,如果算法中的一步需要1纳秒(10-9秒),那么处理1,000个输入所需时间是多少?
下面是我的问题:我该如何计算这个问题?请不要给出答案,帮助我学会自己解决。
n
定义为1000
。因此,你需要n的立方步骤,每个步骤需要1 ns
。将两个数字相乘即可得出答案。f(n)
步骤,每一步需要t
时间,则该算法需要t * f(n)
的时间。n^3
中涉及到一些常数,运行时间会有所不同。但至少你可以猜测数量级。 - Mihai Maruseacn^3
中的n
指的是数据大小。如果输入大小为1,请将其插入到n^3中(然后乘以时间)。如果输入大小为1,000...你应该怎么做?O(n^3)
)发布了这个问题,但这是有缺陷的,因为它忽略了可能使问题无法回答的固定成本。我认为我应该保留这个答案,或许主要是提醒其他人不要犯和我一样的错误。感谢您的评论。O(n^3)
,那么输入大小为1的重要部分成本可能是较低阶变量成本项的固定成本,对于更大的输入大小来说就不那么重要了。 - A. Webb