我有以下算法,需要对其进行大O分析。我对这个主题很新,但我理解O(1),O(n),O(n 2 ).. O(log n)和O(n log n)。
我如何分析以下算法?
x <== 1
for i = 1 to n
for j = i to 1 (decrement)
x <== x + 1
答案 0 :(得分:3)
对于内循环的每次执行:for j = i to 1
,它将运行i步,i从1到n。
总时间复杂度
1 + 2 + ... + n = n*(n+1)/2 ~ O(n^2)