算法的大O.

时间:2017-10-16 01:09:07

标签: algorithm time-complexity big-o

我对这个算法有疑问,我很难理解复杂性

    While(input) {
            ...
            array to check 
            ...
           for (int i=0; i< arraysize; i++) {  
                creation first subarray; 
                creation second subarray; 
           } 

           for (int i=0; i < firstsubarraysize; i++) {
                 addinput to array;
                for( int j = 0; j < secondsubarraysize; j++) {
                   calculate array[j] * input;
             }
           }
   }// endwhile

因此,考虑输入一个M变量并且数组是N,大O将是O(m(nlogn))还是O(n2)? 子阵列并不总是n \ 2。 我道歉如果我不是很清楚。

1 个答案:

答案 0 :(得分:2)

通常,对于每个嵌套循环,在大O中将有一个N用于时间复杂度。

这里假设最外面的循环while运行M次,然后在其中有两个嵌套的for。总数为O(M N^2)