程式由「數據描述」與「操作描述」兩大部分組成。Niklaus Wirth 提出經典公式:程式 = 數據結構 + 算法。本教程擴展為:程式 = 算法 + 數據結構 + 程式設計方法 + 語言工具與環境,四維度完整覆蓋程式開發能力模型。
算法:為解決特定問題而規定的有限、確定、有效的操作步驟序列。
| 維度 | 內容 | 學習重點 |
|---|---|---|
| 算法 | 操作步驟、邏輯流程、複雜度分析 | 排序、搜尋、動態規劃、圖論、貪心等經典範式 |
| 數據結構 | 數據組織形式:陣列、鏈表、樹、圖、雜湊表... | 操作複雜度、記憶體佈局、適用場景選型 |
| 程式設計方法 | 結構化、物件導向、函數式、模組化、測試驅動... | 設計原則(SOLID)、模式、重構、架構風格 |
| 語言工具與環境 | 編譯器、除錯器、IDE、建構系統、版本控制、CI/CD | 工具鏈精通、效能分析、部署自動化 |
// 算法:求最大值
// 1. 假設第一個元素為最大
// 2. 遍歷其餘元素,若發現更大則更新
// 3. 返回最大值
int max(int arr[], int n) {
int m = arr[0]; // 數據結構:陣列 + 索引
for (int i = 1; i < n; i++) // 算法:線性掃描
if (arr[i] > m) m = arr[i];
return m; // 輸出
}
算法是「解題配方」,程式是「可執行的配方」。掌握四維模型,以算法為核心、數據結構為支撐、方法為規範、工具為加速,才能從寫代碼進化為做工程。