2014-10-05 130 views
0

这是一个CS问题,但希望有人可以帮助我。如果一个特定的算法具有T(100)= 20的运行时间,那么我怎样才能估计给定的T(400)的运行时间:a)T(n)= O(n)或b)T(n)= 0 n^2)?对于a,我想如果100个元素需要20个单位(空间或时间),那么线性400个元素需要大约80个单位。这种想法是否正确?如果是这样,b)怎么办?如果不是,那么计算这个值的正确方法是什么?谢谢 !计算算法运行时?

+0

那么,O(n)表示渐近边界......所以这意味着将它从100增加到400,很可能根本不准确。但是,只有那些数据,我想你可以做的不多。 – 2014-10-05 06:32:16

回答

2

做一些假设,像n足够大,你真正看到的渐进性和算法是欧米茄(n)和欧米茄(N^2)分别为,你会继续这样的:

A)T( n)= c * n;假设T(100)= 20,我们发现c = 0.2并且T(400)= 80 0)T(n)= c * n^2; T(100)= 20→c = 0.002; T(400)= 320