Big O每次都删除一个元素

时间:2015-03-12 00:09:35

标签: big-o asymptotic-complexity

您好我想找出这个算法的大O.

我认为它是n ^ 2,但因为每次我不确定时,子循环的大小都在缩小。

 for(int i= 0; i < SIZE; i++){
        for(int j = i; j < SIZE; j++)
        {
            //Code here
        }
    }

2 个答案:

答案 0 :(得分:2)

是的,如果SIZE = O(n)并且(此处的代码)的复杂度是常数,那么它是O(n ^ 2)......

你可以做数学:对于i的固定值,内循环执行Size-i次,因此内循环的执行总数是sum_ {i = 0} ^ {size-1}( size -i)= size ^ 2 - sum_ {i = 0} ^ {size-1} i = size ^ 2 - 1/2 size *(size-1)= O(size ^ 2)

答案 1 :(得分:1)

有一种使用Sigma表示法的方法足够精确:

enter image description here