程序语言的奥妙:算法解读 ——读书笔记
算法(Algorithm) 是利用計算機解決問題的處理步驟。
?
算法是古老的智慧。如《孫子兵法》,是打勝仗的算法。
?
算法是古老智慧的結晶,是程序的范本。
學習算法才能編寫出高質量的程序。
?
懂得了算法,游戲水平會更高。
比如下棋,如果懂得棋譜,就不需要每次考慮“尋找最好的一步棋”,按照棋譜
就可以走出最好的幾步棋。棋譜是先人們智慧的結果,因此掌握多種棋譜的人更
容易在對弈中獲得勝利。
?
算法的學習類似學習游戲攻略。
算法是編寫好程序的“棋譜”。
?
算法必須滿足“有效性”和“終止性”。
- 算法,必須要為給定的任務給出正確的結果,這就是算法的有效性。
- 算法,最終必須要確保停止。
斷點是表示算法“有效性”的方法之一。
?
算法的種類:
1、技術計算
歐幾里德相除法 (最大公約數)
高斯消元法 (聯立方程組)
梯形法 (定積分)
迪杰斯特拉法 (最短路徑)
埃拉托色尼篩法 (素數)
2、排序
將一行數據從小到大(升序),或從大到小(降序)排序的算法
簡單選擇法
簡單交換法 (冒泡排序)
簡單插入法
希爾排序
歸并排序
快速排序
3、查找
從大量數據中定位目標數據的算法。
線性查找 (linear search)
二分查找 (binary search)
4、字符串模式匹配
從給定的字符串中尋找指定字符串位置(子字符串)的算法
簡單字符串匹配
KMP法
BM法
算法的基礎——結構化程序設計的思想
1、順序結構
2、選擇結構
3、循環結構
算法由上述三種結構的組合來進行的。
?
?
轉載于:https://www.cnblogs.com/dynamicman/p/3801735.html
總結
以上是生活随笔為你收集整理的程序语言的奥妙:算法解读 ——读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux boot procedure
- 下一篇: Spring Security 中取得