2013-09-25 24 views
0

我只是想知道這個例子的大O運行時複雜性會是什麼?大哦當循環不是輸入(n)運行時

public void example(int n) { 
    for (int i = 0; i<32; i++) { 
     System.out.print(i); 
    } 
} 

我不認爲它的O(n),因爲我們不循環通過n,而是我們循環通過32次。 謝謝

+0

我認爲這應該是程序員。 –

+2

它是O(1)...... – tia

回答

2

這是一個恆定的時間操作,所以它是O(1)(或Theta(1)),因爲你總是執行32個操作。儘管O表示法只是一個上限它也是O(n),O(lg n)或甚至O(n^n^n^n)O(1)只是這個代碼的漸近最緊密的界限。 theta符號給出了精確的(從底部和頂部開始的)複雜度估計,並且如之前所述,這是一個Theta(1)代碼,因爲它的操作次數完全獨立於輸入參數。

相關問題