🗺️ AI 學習與考證地圖
時間複雜度三部曲 Big O Trilogy
algorithm · complexity · gameplay
Mochi 穿著深藍複雜度指揮官外套與珊瑚色肩帶,開心展示四種成長曲線
指揮官 Mochi 帶你看懂:資料變大時,運算量會怎麼長。

用三場戰役
把 Big O 刻進你的本能

不背公式,靠遊戲玩出對時間複雜度的直覺。 看情境、讀程式、算極限——三款挑戰,覆蓋 O(1)、O(log n)、O(n)、O(n²) 四大派系。

Mochi 穿著粉藍路線策略家披風,拿著羅盤比較四種演算法路徑
先選一條路:情境配對、讀程式、算極限,或翻圖鑑。
Mochi 穿著鈷藍程式偵察背心與琥珀色頭帶,用放大鏡觀察巢狀結構
偵察員 Mochi 提醒:先看結構,再選答案。
HP
SCORE 0
COMBO ×1
1 / 10
Mochi 穿著酒紅勝利隊長披風,舉著金牌開心揮手
每次戰績都是線索;看錯的題目,正好告訴你下一步練哪裡。
FINAL VERDICT
S
演算法之眼覺醒

你看穿了大部分的時間複雜度陷阱

10
Correct
0
Score
×0
Max Combo
3
HP Left
Mochi 穿著琥珀色圖鑑館員開衫與端正深藍眼鏡,整理四張複雜度卡片
把四種成長速度排在一起,比單背公式更容易記住。
O(1)
CONSTANT TIME · 常數時間

不管 n 多大,操作次數固定。最理想的複雜度。

把資料量從 1 變成 100 萬,所需時間幾乎一樣。

Examples ・陣列用 index 取值 arr[5]
・Hash table 查詢 / 寫入
・Stack 的 push / pop
・口袋拿手機、看時鐘
O(log n)
LOGARITHMIC · 對數時間

每次把問題切一半。資料變 1024 倍,操作只多 10 次。

非常快。能從 O(n) 升級到 O(log n) 通常代表演算法很漂亮。

Examples ・二分搜尋 (Binary Search)
・平衡 BST 的查找
・每次 n /= 2 的 while 迴圈
・查紙本字典、猜數字遊戲
O(n)
LINEAR TIME · 線性時間

資料變兩倍,時間就變兩倍。一個迴圈跑完就是這個。

日常開發最常見。對大部分情境都還算可以接受。

Examples ・單層 for 迴圈跑過陣列
・找最大值、計算總和
・Linked List 走訪到第 k 個
・班級點名、把照片每張看一遍
O(n²)
QUADRATIC · 平方時間

資料變兩倍,時間變四倍。資料一大就災難。

看到巢狀迴圈就要警覺。1 萬筆資料就有 1 億次操作。

Examples ・Bubble / Selection / Insertion Sort
・雙層巢狀 for 處理所有 (i, j) 配對
・把每張照片跟其他每張比較
・班上同學互相握手
Mochi 穿著薰衣草色 AI 成本分析外套與深青藍領結,指出密集連線造成的平方成本
AI 成本分析員:注意力的連線數會隨序列長度快速增加。

📝 iPAS 考點提醒

時間複雜度(Big O)描述演算法運算量隨資料量 n 的成長趨勢,是 AI 工程與資料結構基礎(iPAS 中級科目一相關)。重點:O(1) 常數、O(log n) 對數(每次砍半)、O(n) 線性、O(n²) 平方(巢狀迴圈、兩兩比對),越上面越快。易混點:兩個「接連」的單層迴圈是 O(n) 不是 O(n²)(常數倍去掉);自注意力是 O(n²) 隨序列長度平方成長,限制上下文長度。情境:選演算法、估算能處理多大資料、理解 Transformer 長序列成本。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

Big O 是什麼?

描述演算法運算量(或記憶體)隨輸入規模 n 的成長趨勢,忽略常數與低階項,用來比較效率與可擴展性。

O(1)、O(log n)、O(n)、O(n²) 怎麼分?

O(1) 不隨 n 變(最快)、O(log n) 每次砍半(超快)、O(n) 線性、O(n²) 平方(巢狀迴圈或兩兩比對,資料一大就爆)。

看到兩個迴圈就是 O(n²) 嗎?

不一定。兩層「巢狀」都跑 n 才是 O(n²);兩個「接連」的單層迴圈是 O(n)(2n 去掉常數)。要看是巢狀還是接連。

Big O 和 AI 有什麼關係?

自注意力是 O(n²),限制上下文長度與長文成本;選對資料結構(如 hash 查詢 O(1))能把 O(n²) 降到 O(n),影響訓練與推論效率。

怎麼估演算法能處理多大 n?

用「硬體每秒運算數 × 時間預算 = 可負擔操作數」,再依複雜度反推 n(如 O(n²)、1 億次預算下 n 約 1 萬)。

🧭 相關主題

← 返回 AI 學習與考證地圖