📚 由淺至深
第 99 章 入門 約 10 分鐘

期末總複習:考前一週做這些事

不是教新東西。告訴你考前一週怎麼安排、最該背的表格、最常考的題型、心態怎麼調。

建議先看過: 16-bst

恭喜你看到這裡

如果你從第 1 章一路看到這裡,你已經做了很多同學沒做的事。接下來的考試靠這個就行。

考前一週的安排

Day 7-5(一週前):翻一次所有章節的「這章記住」段落。不懂的回去看。

Day 4-3:每章寫一題「考試會這樣考」例題。真的拿筆寫,不要心算。

Day 2-1:背考前速翻表。動畫看一遍 Bubble Sort、Merge Sort、Dijkstra。

考試當天早上:再翻一次速翻表。不要看新東西,會慌。

必背的兩張表

排序演算法比較

演算法最壞平均最好空間穩定
BubbleO(n²)O(n²)O(n)O(1)
InsertionO(n²)O(n²)O(n)O(1)
SelectionO(n²)O(n²)O(n²)O(1)
MergeO(n log n)O(n log n)O(n log n)O(n)
QuickO(n²)O(n log n)O(n log n)O(log n)

資料結構操作複雜度

操作陣列鏈結串列BST 平衡雜湊表
查詢O(n)O(n)O(log n)O(1)
插入O(n)O(1)*O(log n)O(1)
刪除O(n)O(1)*O(log n)O(1)
排序走訪O(n log n)O(n log n)O(n)O(n log n)

*鏈結串列的 O(1) 是「已知位置時」

最常考的 5 種題型

1. 給程式碼問 Big-O

訣竅:數迴圈層數,看每層次數變化。

2. 給陣列追蹤排序過程

訣竅:畫表格,每一輪寫一行

3. 畫遞迴樹 / DP 表

訣竅:節點/格子標清楚對應的 n 值。

4. 給圖跑 BFS / DFS / Dijkstra

訣竅:題目要求的鄰居順序要照做(通常字母序)。

5. 比較兩個演算法

訣竅:列表格比較最壞、平均、空間、穩定性。

答題技巧

沒把握時不要空白。即使不完全會,寫出思路也能拿部分分數。

畫圖會被多給分。畫流程、樹、表格都是「努力的證據」。

寫複雜度時不要忘記 O()。寫 沒寫 O(n²) 會被扣。

雙看題目。「最壞情況」vs「平均情況」差別很大,問哪個就答哪個。

心態調整

💡如果你之前考不及格

別擔心。演算法的考試有套路

  • 排序追蹤 → 畫表格
  • BST 插入 → 一個一個走
  • BFS/DFS → 用 queue/stack 列出順序
  • DP → 寫狀態方程 + 填表

這些都是有步驟可以照做的,不需要靈感。 照步驟做完,分數就有了。

⚠️不要陷入完美主義

有些章(紅黑樹的旋轉、Master Theorem 的證明)很難。 先把簡單章拿穩,難的章拿一半分數就好。 這樣總分絕對及格。

考試前一晚的儀式

  1. 把這個網站的考前速翻表印出來。
  2. 早點睡。沒睡飽寫不對追蹤題——你會把 swap 寫反、把箭頭畫錯。
  3. 帶兩支筆、一個橡皮擦。作答時很多人會寫錯要塗改

最後的話

演算法看似抽象,但每個演算法都對應某個生活情境

  • Bubble Sort = 排撲克牌
  • BFS = 朋友傳話
  • DP = 算過的別再算
  • BST = 字典查字

忘了演算法名字時,回到那個情境去想,常常就能推出來。

祝你考過。 🎓

按下「我看懂了」,這個系列就走完了。下次有需要回來翻翻就好。

學習進度只存在你的瀏覽器,不會上傳。