LEARNING PATH
C++ 競技程式學習路線
我們正式教學只以 C++ 為主。不是把知識背完,而是理解概念後一起練題、討論與修正——從完全零基礎到 APCS 實作高分的指南。
01
新手入門
Stage 1:C++ 基礎語法與邏輯
打好程式語言根基,掌握核心語法,培養將實際問題轉化為程式邏輯的能力。
- 基本的輸入輸出(
cin/cout) - 變數型態與運算子(int, double, char, bool)
- 條件判斷(
if / else / switch) - 迴圈控制與巢狀結構(
for / while) - 基礎陣列應用(Array)與字串處理(
string) - 動態陣列
vector
02
進階應用
Stage 2:資料結構入門 & STL 容器
學會靈活選用合適的資料結構,提升程式寫作與資料處理效率。
- 函式(Function)
- 時間與空間複雜度概念(
O(N)) - 堆疊與佇列(
stack/std::queue) - 更多STL(
map/set) - 自訂結構(
struct)與排序
03
演算法核心
Stage 3:經典基礎演算法
掌握資訊競賽必備的思維方式,學習如何優化程式碼的時間複雜度。
- 二分搜尋法(Binary Search)與單調性
- 遞迴
- 貪婪法(Greedy Algorithm)
- 雙指標(Two Pointers)與滑動視窗(Sliding Window)
04
高階實戰
Stage 4:APCS 衝刺與進階主題
挑戰高階演算法題型,建立圖論與動態規劃的完整觀念。
- 深度優先搜尋(DFS)與廣度優先搜尋(BFS)
- 分治法(Divide and Conquer)
- 動態規劃基礎(Dynamic Programming, DP)
- 歷屆 APCS 實作題真題解題與刷題策略