我正在閱讀一些關於時間複雜度的信息,我很困惑如何實現以下時間複雜性,以及是否有一套特定的規則或方法來解決這個問題?時間複雜度 - 計算算法的最壞情況
1)
Input: int n
for(int i = 0; i < n; i++){
print("Hello World, ");
}
for(int j = n; j > 0; j--){
print("Hello World");
}
- 緊:6N + 5
- 大O:O(N)
2)
Input: l = array of comparable items
Output: l = array of sorted items
Sort:
for(int i = 0; i < l.length; i++){
for(int j = 0; j < l.length; j++){
if(l{i} > l{j}){
} }
Swap(l{i},l{j});
}
return ls;
- 最壞情況時間複雜度:4N2 + 3N + 2 = O(N 2)
等待,不打印(「Hello World」);在循環之外? – mino 2013-04-29 14:31:56
不,它是在你的代碼中顯示的內部循環(對不起,我無意中添加了一個'{')。我剛修好了。 – John 2013-04-29 23:50:53
如果它在裏面,那麼爲什麼它包含在OUTSIDE的計算中,即:操作3。 – mino 2013-04-30 20:25:36