我想弄清楚使用大O表示法的for循环的复杂性。我之前在其他课上做过这个,但是这个比其他课更加严格,因为它是基于实际的算法。代码如下:嵌套循环比率的复杂性1/2
for(i=n ; i>1 ; i/=2) //for any size n
{
for(j = 1; j < i; j++)
{
x+=a
}
}
执行指令x + = a总共n + n/2 + n/4 + ... + 1次。
G.P.的第一个log2n项的总和。开始项n和公共比率1/2是(n(1-(1/2)log2n))/(1/2)。因此第一个代码片段的复杂度是O(n)。
是否正确?
这似乎与您以前的问题相同。请不要发布重复的问题。谢谢! –