2013-02-16 79 views
0

我有這個循環的程序中運行:兩個for循環,大O理論值

for(int I =0;I < n;I++){ 
    for(int it = 0; it < m; it++){ 

     Access vector.at(it+1) & add number plus vector.at(it) 
     } 
    } 

所說的n & m爲用戶輸入和我想要做的就是運行內部循環的向量的大小(什麼米)和存儲信息。外部循環正在說要重複這個過程n次。 那麼我的大O符號是O(m^n),因爲我重複m然而很多次n是? 謝謝。

回答

1

您正在內循環中執行2個操作,因此您總共執行2 * n * m個操作,這會產生O(n * m)的複雜度。

1

它實際上是O(M x N)

O(M^N)是非常非常慢:)

+0

好的,謝謝!我知道這真的很慢,並不確定m^n是否是解決方案。謝謝! – 2013-02-16 21:27:06

1

它是O(MN),假設內循環內的操作是O(1)。

+0

謝謝。操作是恆定的時間。 – 2013-02-16 21:28:20