我试图使用 Big O 表示法计算出 for 循环的复杂性。我之前在其他课程中也做过这样的事情,但是这一个比其他课程更严格,因为它是基于实际的算法。代码如下:
for(i=n ; i>1 ; i/=2) //for any size n
{
for(j = 1; j < i; j++)
{
x+=a
}
}
我发现第一个循环的时间复杂度为 O(log_2(n))。至于第二个循环我有点迷失了!谢谢各位帮忙分析。
要正式求解算法的时间复杂度,您可以使用以下带有 Sigma 表示法的步骤:
另外,看看这个非常有趣的最后一张幻灯片document作者:Jauhar 博士。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)