問題詳情

48. 以下程式碼區塊之Big-O時間複雜度為何?


(A) O(n2)
(B) O(n log2 n)
(C) O(log2 n)
(D) O(n)

參考答案

答案:B
難度:計算中-1
書單:沒有書單,新增

用户評論

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】這是由於兩個巢狀迴圈的組合。外部迴圈運行次數為 n - 1(i 從 1 到 n-1),內部迴圈的運行次數為 log2(n)(j 從 n 開始,每次除以 2 直到 1)。因此,總的運行次數大約是 (n - 1) * log2(n),即 O(n log n)。

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】這是由於兩個巢狀迴圈的組合。外部迴圈運行次數為 n - 1(i 從 1 到 n-1),內部迴圈的運行次數為 log2(n)(j 從 n 開始,每次除以 2 直到 1)。因此,總的運行次數大約是 (n - 1) * log2(n),即 O(n log n)。