歡迎訪問我的新博客:http://www.milkcu.com/blog/
原文地址:http://www.milkcu.com/blog/archives/introduction-to-mastering-algorithms-with-c.html
原創:算法精解概述
作者:MilkCu
摘要:本文對《算法精解》做了簡單描述,對其中的約束和核心思想簡單介紹了一下。
引言
《算法概述》是一本比較基礎的講解算法和數據結構的書,英文名Mastering Algorithms with C。對於每種數據結構和算法,裏面都有完整的C語言實現,並沒有單純講解算法書籍的空洞感。這本書的英文版是在2001年上市的,中文版2013年才上市,翻譯步伐有點緩慢。雖然是本老書,C語言也是一種古老的語言,但依然散發着經典的光芒。裏面的程序使用純C語言編寫,當然有些可以使用C++的STL簡單的實現。這是一本好書,但是中文翻譯水平一般,特別是對“引用”濫用很嚴重。
約定
-
所有void函數都顯式包括return語句
儘管這不是必須的,但這有助於快速定位函數的返回位置,而不必費力的去匹配大括號。 -
lg x
這種記法表示以2爲底數,x的對數,正式寫法爲log2 x。這種記法在有關算法的討論中很常見,因此本書也採用這種記法。
數據結構和算法簡介
使用數據結構和算法的三個原因是:效率、抽象和重用性。
在C語言裏,通過使用指向void類型的指針來管理任意類型的數據,而不是在數據結構內部維護一份數據的私有副本。
算法設計的一般方法
隨機法
分治法
動態規劃
貪心法
近似法
軟件工程的思想
模塊化
可讀性
簡潔性
一致性
(全文完)
本文地址:http://www.milkcu.com/blog/archives/introduction-to-mastering-algorithms-with-c.html