时间复杂性问题
函数fun()的时间复杂度是多少?假设log(x)返回以2为底的log值。
C
无效
有趣的()
{
int
i, j。
为
(i = 1;我< = n;我+ +)
为
(j = 1;j < =
日志
(我);j + +)
printf
(
“188金宝搏滚球投注GeeksforGeeks”
);
}
|
上述函数的时间复杂度可以写成θ(log1) + θ(log2) + θ(log3) + . . . .+ θ(log n)也就是θ(log n!)
增长的阶数是' log n!’和‘nlgn’对于n的大值是相同的,即θ(log n!) = θ(nlgn),所以fun()的时间复杂度是θ(nlgn)。
θ(log n!) = θ(n log n)的表达式可以很容易地从下面推导出来斯特灵近似(或斯特灵公式)。
o (log n) != n*log n - n = O(n*log(n))
如果你发现任何不正确的地方,或者你想分享关于上面讨论的话题的更多信息,请写评论。
来源:
http://en.wikipedia.org/wiki/Stirling%27s_approximation
关注读者!现在不要停止学习。掌握所有重要的DSA概念DSA自定进度课程以学生友好188bet2021欧洲杯的价格,成为行业准备。