內容簡介
本書包含600幅圖片,120個程式實例,66個習題實作。多年教學經驗筆者深知演算法書籍如果只敘述理論,讀者在實作階段一定會碰上層層困難,因此在撰寫此書時,筆者特別重視理論與實作同步進行,所有程式實例皆是為了讓讀者了解演算法的觀念與內涵而設計。
整本書從時間複雜度、空間複雜度、資料結構開始,使用完整大量圖片講解資料儲存觀念,逐步邁向程式設計師必須懂的演算法知識。除了傳統演算法,本書更擴充到講解資訊安全演算法、人工智慧演算法以及程式設計師面試常見的演算法考題,下列是本書主要內容。
時間複雜度
空間複雜度
8大資料結構完整圖說與程式實例
特別使用二元樹和堆疊解圖形解說遞迴中序、前序和後序列印
7大排序法完整圖說與程式實例
二元搜尋與遍歷
遞迴與回溯演算法
八皇后
河內塔
碎形與VLSI設計應用
圖形理論
深度、度寬度優先搜尋
Bellman-Ford演算法
Dijkstra’s演算法
貪婪演算法
動態規劃演算法
資訊安全演算法
摩斯與凱薩密碼
金鑰系統觀念,也解說設計金鑰方法或是應用目前市面上成熟的金鑰。
訊息鑑別碼(Message authentication code)
數位簽章(Digital Signature)
數位憑證(Digital certificate)
基礎機器學習KNN演算法,不過讀者不用擔心這是分類與迴歸的數學或是統計問題,筆者將拋棄數學公式,用很平實語句敘述搭配程式實例,讓讀者徹底了解此演算法。
在機器學習的無監督學習中,K-means演算法常被用來做特徵學習,筆者也將拋棄數學公式,用很平實語句敘述搭配程式實例,讓讀者徹底了解此演算法。
職場面試常見的演算法考題
這本著作特色在於不賣弄文字與數學,特別在敘述人工智慧演算法時,拋棄了難懂的數學公式,用最平凡的文字與淺顯易懂的程式實例講解人工智慧的演算法原理與應用,相信讀者購買本書可以用最輕鬆方式學會演算法基礎知識。