-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);
}
首先你需要做的是告訴操作你計算的是什麼。然後正確計數。將會有3筆錢,但這並不意味着它的O(n^3)。 – luk32
我也做了一些工作,通過搜索有關複雜性的材料,並在閱讀它們後,我解決了如下: 首先爲來自[1-N]的循環 下一個for循環有不同的行爲,所以它可能是log last for循環就像第二個循環,所以結合所有這些我有n^2log(n)。但我對它的準確性感到困惑。請分享我們的知識。 –
@ user3602001 ...你讀過一些關於'O notation'的文字嗎?再讀一遍。 – someone