2017-01-26 74 views
-1

以下函數的時間複雜度是多少?是O(n^3)還是O(n^4)?C程序的時間複雜度

我在O(n^3) 在第一個for循環中,它會經歷n次。 在第二個for循環中,對於每第n個元素它將進行n^2次,因此直到現在的總複雜度爲O(n^3) 現在,if語句只會保持真值, 2值,並且對於每n個值,k- for循環將直到n^2個元素,因此複雜度爲O(n^3)。 我已採取的n幾個值: 對於n = 3,C = 25

對於n = 10,C = 1705

對於n = 50,C = 834275

for(i=1;i<=n;++i)        
    for(j=1;j<=(i*i);++j) 
     if((j%i)==0)        
      for(k=1;k<=j;++k)  
       c=c+1; 
+0

其順序爲O(n^4)。對於'i = n',第二個循環將運行'n^2'次,對於'j = i * i'第三個循環將運行'n^2'次。 – haccks

+0

你想要我們做你的excersize而不是你? – user31264

+0

@haccks你能解釋一下嗎? –

回答

0

時間此類計劃的複雜程度爲O(n^3)

+0

你在乎你添加一些解釋嗎?因爲它是你的答案不是很有用。你需要證明你的答案是正確的。 – bolov

+0

答案如下: http://math.stackexchange.com/a/2114823/410265 –