2017-07-25 91 views
0

我想計算下面的代碼的時間複雜度:時間複雜度僞代碼

for(i=0;i<n;i++){ 
    func(); 
    .   // Other O(1) operations 
    . 
} 

其中FUNC()有一個O(k)的複雜性。

回答

0

那麼時間複雜度就是O(k * n)。

+0

你能解釋爲什麼它不能是O(n + k)嗎? – user8140261

+1

因爲你用O(k)的速度做了n次函數,所以它的O(k * n) – Eddge

+0

@Eddge的時間複雜度和速度是不一樣的確切的東西。 –

1

你應該認識到循環的意思,如果你使用

for(int i=0;i<n;i++) 

的循環將被執行n次, 和每一個時代,一個循環將花費O(K)+ O(1)= O (k), 所以總的複雜度將是O(n * k),希望這篇文章能幫助你!