如何解決問題#
以問題取代未知數、以資訊取代資料、以解待取待理論。
- 一般的問題解決過程
提出問題 尋找熟悉的事物 分割並征服 演算法。 - 電腦的問題解決過程
分析與定義階段 演算法開發階段 實作階段 維護階段。
簡單變數演算法#
- 可選擇的演算法:IF THEN ELSE。
重複演算法#
- 技術控制型迴圈
- 由三部分組成:起始化、測試、增量。
set count to 0 |
- 事件控制型迴圈
- 巢狀結構
WHILE(count < limit) |
複合變數#
- 陣列:為同性質項目的集合。
- 索引 index:由0開始,代表位置。
- 陣列名字[index]
- 紀錄:為不同性質項目的集合。
- 名字.欄位名稱
搜索演算法#
二元搜索:由以排序過的陣列搜索,每次與中間比較,再將搜索範圍減半,直到找到答案。
排序#
泡沫排序:每次由最後一項與前一項相比,若比較小則交換,直到最前;若從底至頭都沒有需要交換,則排序結束。
遞迴演算法#
分為兩種狀況:底層狀況、一般狀況。
- 副程式敘述:將一段程式碼命名,並移至外部;有回傳值的,也有不回傳值的。
重要的串連思路#
- 資訊隱藏
- 抽象概念
- 為事件命名
- 測試