演算法定義是這篇文章討論的核心
演算法(Algorithm)可以被理解為**解決特定問題的一組明確、有順序的步驟**。它不是程式碼本身,而是一種「做某件事的方法」。

## 核心概念

就像食譜一樣,演算法告訴電腦:
1. 需要哪些材料(輸入)
2. 依照什麼順序處理(步驟)
3. 最後會做出什麼成品(輸出)

只要步驟清楚、可重複,任何人或電腦照著做,都能得到相同的結果。

## 流程圖表示

“`
[開始]
│
▼
[輸入資料]
│
▼
[步驟 1:判斷條件]
│
├── 條件成立 → [步驟 2A]
│
└── 條件不成立 → [步驟 2B]
│
▼
[重複執行 / 迴圈(若需要)]
│
▼
[輸出結果]
│
▼
[結束]
“`

## 日常生活比喻

| 比喻 | 演算法對應 |
|——|————|
| 煮泡麵的食譜 | 一連串有順序的指令 |
| 從家裡到學校的路線 | 地圖導航演算法 |
| 把書本依照字母排序 | 排序演算法 |
| 猜數字遊戲中的「二分法」 | 搜尋演算法 |

## 一個簡單例子:找出最大值

假設有一串數字 `[3, 7, 2, 9, 4]`,要找最大數:

1. 先假設第一個數字最大:`max = 3`
2. 拿 `7` 跟 `max` 比,比較大,所以 `max = 7`
3. 拿 `2` 跟 `max` 比,沒比較大,所以不變
4. 拿 `9` 跟 `max` 比,比較大,所以 `max = 9`
5. 拿 `4` 跟 `max` 比,沒比較大,所以不變
6. 最後輸出 `max = 9`

## 為什麼演算法很重要?

– **效率**:好的演算法可以讓程式跑得更快、用更少記憶體。
– **正確性**:確保程式在各種情況下都能產生正確結果。
– **可重複使用**:同一套演算法可以用不同程式語言實作。

## 結論

> 演算法 = 解決問題的「步驟清單」。

你可以把它想像成給電腦的詳細食譜:輸入食材、按照步驟處理,最後得到一道可預期的菜餚。程式設計師的工作,就是設計出又正確又有效率的「食譜」。

Share this content: