我想弄清楚使用大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)。
是否正確?
這似乎與您以前的問題相同。請不要發佈重複的問題。謝謝! –