演算法(Algorithm)是什麼?

演算法是一組定義明確的指令,用於解決特定問題或執行特定任務。它接收輸入,經過一系列步驟處理,並產生輸出。|本頁含完整原理、應用場景、iPAS 考試重點與 4 個常見問答。

演算法(Algorithm)是什麼? AI基礎最佳化

你有沒有照著食譜做菜,還是覺得步驟順不順很重要?

你可以把演算法想成一組清楚的步驟,告訴電腦要怎麼把輸入變成輸出。它不是程式碼本身,而是解決問題的方法和順序。

這很重要,因為同一個問題可以有很多做法,好的演算法能讓程式跑得更快、吃更少記憶體,也更容易維護。

容易混淆

演算法 vs 程式碼

演算法是做事的方法。

程式碼是把方法寫成電腦看得懂的語言。

最關鍵的區別:一個是思路,一個是實作。

演算法 vs 模型

演算法是解題流程。

模型是從資料學到的規則或參數。

最關鍵的區別:一個靠規則,一個靠訓練。

演算法 vs 流程圖

流程圖只是把步驟畫出來。

演算法還要能真的解決問題。

最關鍵的區別:流程圖是表達,演算法是方法。

記住這句就好

能把問題變成步驟的,就是演算法。

實際案例

路線規劃

導航 App 要從台北車站到目的地,不是亂猜,而是用最短路徑的演算法去找最省時或最省距離的路。

垃圾郵件判斷

郵件系統可能先做關鍵字比對,再算特徵分數,最後決定是否進垃圾桶,整套判斷流程本身就是演算法。

算法與應用

常看的三件事

時間複雜度、空間複雜度、正確性,通常是評估演算法好壞的基本三角。

常見應用

搜尋、排序、路徑規劃、文字處理、推薦排序,幾乎所有 AI 與資訊系統都離不開演算法。

情境判斷

Q1(直覺題): 你要把 1 到 100 排序,應該只看哪個方法先寫得出來嗎?

→ 不只看能不能寫出來,還要看時間和空間成本,因為演算法效率會影響實際使用。

Q2(判斷題): 一個方法在小資料上很快,但資料一大就卡住,這還算好演算法嗎?

→ 要看情況。若你的場景永遠只有小資料,它可能夠用,但只要資料規模會長大,就要重新評估。

常見問題

演算法一定要很複雜嗎?

不一定,很多時候最好的演算法就是最簡單、最好維護的那個。

演算法和 AI 有什麼關係?

AI 系統也需要演算法來做搜尋、訓練、推論和排序,不是只有模型在工作。

為什麼時間複雜度重要?

因為資料變大時,差一個次方就可能差很多,會直接影響能不能上線。

學演算法一定要先背很多公式嗎?

不用先背,先看懂問題怎麼拆、怎麼比較方法,會比較有效。