-1

任務是分析以下算法並計算其時間複雜度。如何找到這3個嵌套循環的時間複雜度?

我解決了它,因爲採取嵌套循環是3所以O(n^3)

我該如何解決這個問題?

MSS (A[], N)    //Where N is size of array A[] 
{ 
    int temp = 0, MS = 0; 
    For (int i = 0; i < N; i++) 
    { 
     for(int j = i; j < N; j++) 
     {   
      temp = 0; 
      for(int k = i; k <= j; k++) 
         temp = temp + A[k]; 
      if(temp > MS) 
         MS = temp; 
     } 
    } 
    return(MS); 
} 
+0

首先你需要做的是告訴操作你計算的是什麼。然後正確計數。將會有3筆錢,但這並不意味着它的O(n^3)。 – luk32

+0

我也做了一些工作,通過搜索有關複雜性的材料,並在閱讀它們後,我解決了如下: 首先爲來自[1-N]的循環 下一個for循環有不同的行爲,所以它可能是log last for循環就像第二個循環,所以結合所有這些我有n^2log(n)。但我對它的準確性感到困惑。請分享我們的知識。 –

+1

@ user3602001 ...你讀過一些關於'O notation'的文字嗎?再讀一遍。 – someone

回答

0

好了,你可以繼續進行正式這樣:

enter image description here