可能重复:
大 O:嵌套的具有依赖关系的 For 循环
鉴于以下嵌套循环,我必须弄清楚它的大 O 复杂性:
for(i=0 to n)
for(j=n-1;j>=i;j--)
我知道这将是复杂的O(n^2)
,但我不确定如何找出内部循环的公式。
为了清楚起见,我写了一张表格:
n=10
i | j | outer iters | inner iters
0 | 9 | 1 | 10
1 | 9 | 2 | 9
...
9 | 9 | 10 | 1
因此,外部循环运行n
次数,而内部循环运行sum(n to n-9)
。
有人告诉我答案是n(n-2)/2
,我根本不知道如何从我所拥有的东西中得出这个结论。
协助将不胜感激。