🎯 什麼情境該想到我

當你想判斷「這段程式在資料量變大時會不會爆掉」,或在兩個方案間比較效率時。

⚙️ 怎麼用

  1. 看主導項:只看輸入 n 變大時成長最快的部分,忽略常數與低階項。
  2. 常見等級(由快到慢):O(1) → O(log n) → O(n) → O(n log n) → O(n²) → O(2ⁿ)。
  3. 快速估:單層迴圈 O(n)、巢狀雙迴圈 O(n²)、每次砍半 O(log n)、排序多為 O(n log n)。
  4. 同時看空間複雜度:記憶體也可能是瓶頸(時間換空間的取捨)。

先估複雜度,再決定「資料規模下這個方案可不可行」,避免上線才發現慢爆。

🧪 我實際套用的紀錄

  • 2026-07-15:(待填)

⚠️ 注意

  • Big-O 是趨勢不是絕對;小 n 時常數/實作細節可能主導,別過早為漸進最佳而犧牲可讀性(見 工具-簡單清楚至上)。

🔗 相關工具