0
我想計算下面的代碼的時間複雜度:時間複雜度僞代碼
for(i=0;i<n;i++){
func();
. // Other O(1) operations
.
}
其中FUNC()有一個O(k)的複雜性。
我想計算下面的代碼的時間複雜度:時間複雜度僞代碼
for(i=0;i<n;i++){
func();
. // Other O(1) operations
.
}
其中FUNC()有一個O(k)的複雜性。
那麼時間複雜度就是O(k * n)。
你應該認識到循環的意思,如果你使用
for(int i=0;i<n;i++)
的循環將被執行n次, 和每一個時代,一個循環將花費O(K)+ O(1)= O (k), 所以總的複雜度將是O(n * k),希望這篇文章能幫助你!
你能解釋爲什麼它不能是O(n + k)嗎? – user8140261
因爲你用O(k)的速度做了n次函數,所以它的O(k * n) – Eddge
@Eddge的時間複雜度和速度是不一樣的確切的東西。 –