算法的时间复杂度

大小为n = 100的算法需要21秒才能运行。大小n = 1000需要31秒,而n = 10000需要41秒才能运行。运行的复杂性是什么? 如果我尝试O(n)则:T(n)=(21 * 1000)/ 100 = 210 s(非O(n)) 如果我尝试O(n ^ 2)那么:T(n)=(21 * 1000 ^ 2)/ 100 ^ 2 = 2100 s(非O(n ^ 2)) 如果我尝试O(log n)则:T(n)=(21 * log1000)/log100=31.5(不是O(log n)) 我给出的另一个选择是O(1 / n)。我该如何计算?     
已邀请:
看起来像
O(lgn)
。 当日志的基数为10时,
n
的时间是
T(n) = 10*log(n) + 1
。     
要解决这个问题,首先要绘制各个类的一些函数。例如,要了解
O(n)
线性类绘制函数
T(n)=n
并了解
O(n^2)
类绘制函数
T(n)=n^2
。这将帮助您识别各种功能的形状。 之后,使用x轴中的n值和y轴上的定时值绘制问题中给出的点。您应该能够快速识别此问题中的形状。 提示:这不是
O(log n)
:-)     

要回复问题请先登录注册