免費開始練習
moea_joint 102年 [資訊] 計算機原理、網路概論

第 49 題

演算法的時間複雜度 O(n!)、O(n²)、O(nlog2n)、O(2")中,何者效率最佳?
  • A O(n!)
  • B O(n²)
  • C O(nlog2n)
  • D O(2")

思路引導 VIP

假設我們現在要處理的資料量 $n$ 從 10 筆增加到 100 萬筆,請試著思考:在不同類型的數學函數中,哪一種函數的數值隨 $n$ 增加而「膨脹」的速度最緩慢?是包含乘方、階乘的函數,還是包含對數(log)運算的函數呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能準確地從這些時間複雜度中挑選出效率最高的一項,說明你對演算法效能評估的核心概念掌握得相當紮實。在計算機科學中,所謂的「效率最佳」,指的就是當輸入資料量 $n$ 逐漸增加時,演算法執行所需時間(運算次數)增長得最慢的那一個。

複雜度階層與成長速率

這道題目的關鍵在於對常見大 $O$ 符號成長速率的排序認知。我們通常將複雜度由優至劣(由快至慢)排列為:

▼ 還有更多解析內容
📝 演算法時間複雜度
💡 Big O 函數值成長越慢,代表演算法執行效率越高。

🔗 演算法執行效率等級(由優至劣)

  1. 1 高效區 — O(1), O(log n), O(n)
  2. ↓
  3. 2 中效區 — O(n log n), O(n²)
  4. ↓
  5. 3 爆炸區 — O(2ⁿ), O(n!)
🔄 延伸學習:通常 O(n log n) 被視為處理大規模數據的理想效率上限。
🧠 記憶技巧:常對線,線對方,指階在後跑最慢
⚠️ 常見陷阱:容易誤將「函數值的大小」與「執行效率」混淆,函數值越大,代表執行越久、效率越差。
Big O 漸近符號 空間複雜度 排序演算法比較

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料結構與演算法之設計原理與應用
查看更多「[資訊] 計算機原理、網路概論」的主題分類考古題