2016-09-16 43 views

回答

1

是的,這是爲O(n )。

外循環將執行n次。內循環平均執行n/2次。將內部循環和外部循環的複雜度相乘得到O(n * n/2),即O(n )。

+0

第二個循環如何執行n/2次?它會執行n-1次。不是嗎?如果是的話請解釋一下。 – Avenger

+0

第一次進入外循環'i'等於'n',所以內循環根本不執行。下一次'i'等於'n-1',所以'x ++'被執行一次。然後2次,3次,4次,直到'i = 1',然後執行'n-1'次。數字的平均值爲1,2 ...,n-1的數量級爲O(n/2)。 – kfx

+0

另一種觀察方式是1,2,...,n-1的總和具有n平方項,因此階數爲O(n^2) –