P1 · 應會
數學基礎
時間複雜度 (Time Complexity)
是什麼
時間複雜度以大 O 符號描述演算法執行時間隨輸入量 n 增長的趨勢,例如 O(n) 線性、O(n log n)、O(n²) 平方;只看成長階次,忽略常數與低階項。
解決什麼問題
評估演算法在資料量變大時是否仍可行,例如兩兩比對全部資料是 O(n²),資料翻倍時間約變四倍。
考場 Trigger
- 每筆資料與其他所有資料兩兩比對
- 資料量翻倍時間變幾倍
- 大 O 符號
容易搞混
維度災難
中級深度
能從巢狀迴圈或兩兩比對的結構推出 O(n²),並換算資料量放大時執行時間的倍數。