這本書的第1版曾經獲得博客來與天瓏暢銷排行榜第1名,也是國內第1本描述演算法各場景創意應用的書籍。
市面上已經有許多演算法的書籍,這些書籍普遍的缺點如下:
?
●?紙上談兵不切實際,介紹演算法原理,只有很少的片段程式碼。讀者學會哪些書籍所述的演算法原理,最後沒有實作能力。
● 書籍不是使用?
Python實作,與當前最熱門的 Python 程式脫鉤。
● 國內幾乎所有演算法書籍只有說明演算法表面的原理,沒有講解如何將演算法應用在各個創意場景。
撰寫這本演算法書籍,筆者時時記住下列3個原則:
1:用彩色圖片引導讀者認識演算法的原理與邏輯思維,方便讀者輕鬆學習,這本書包含了約700張演算法的邏輯思維與原理圖片,這也是目前演算法書籍有最多彩色邏輯思維圖片的書籍。
2:教導讀者使用Python實作演算法理論,全書共有191個程式實例 + 105個習題實作,這也是目前演算法書籍有最多Python程式實例的書籍。
3:每一種演算法皆有敘述創意應用場景,同時用Python創意程式實作。這也是目前國內唯一演算法書籍,有完整介紹未來創意場景應用實例。
這是一本使用Python從零開始解說演算法,用創意活用演算法的書籍,閱讀本書,讀者可以學會下列知識,同時活用在各種創意場景。
?
◆ 演算法基本觀念
˙ 主要內容:時間複雜度、空間複雜度
˙ 創意應用:一個要計算8411億年的程式
?
◆ 陣列與鏈結串列
˙ 主要內容:陣列、單向(雙向)鏈結串列、循環鏈結串列
˙ 創意應用:客戶資料管理、庫存管理系統、瀏覽器歷史記錄管理系統、音樂播放管理、醫療排隊系統
?
◆ 佇列(Queue)
˙ 主要內容:插入、讀取、串列模擬佇列
˙ 創意應用:模擬銀行排隊系統、生產者 - 消費者、網路封包處理、網站爬蟲的URL管理
?
◆ 堆疊(Stack)
˙ 主要內容:堆入push、取出pop、認識堆別在函數呼叫的角色
˙ 創意應用:模擬銀行排隊系統、生產者 - 消費者、網路封包處理、網站爬蟲的URL管理
?
◆ 二元樹(Binary Tree)
˙ 主要內容:建立、讀取、前序(中序與後序)遍歷二元樹
˙ 創意應用:表達式樹、家譜樹、網頁導航樹、遊戲AI決策樹
?
◆ 堆積樹(Heap Tree)
˙ 主要內容:建立、取出、刪除、最小(最大)堆積樹
˙ 創意應用:線上遊戲得分排行榜、物流中心的貨物調度、醫院緊急情況處理系統、電商平台推薦系統設計、多任務處理最短作業優先調度
?
◆ 雜湊表(Hash Table)
˙ 主要內容:雜湊表與陣列、效能分析、模組
˙ 創意應用:電影評分系統、電子郵件垃圾過濾器、社交媒體標籤系統、網頁瀏覽記錄、簡單的快取系統
?
◆ 排序
˙ 主要內容:泡沫、雞尾酒、選擇、插入、堆積樹、快速與合併排序
˙ 創意應用:社交媒體貼文按讚數排序、任務排序、KTV點播次數排序、影評排序、旅館價位排序
?
◆ 數據搜尋
˙ 主要內容:順序、二分搜尋、搜尋最大值
˙ 創意應用:順序搜尋商品庫存、二分搜尋法查詢書籍、順序搜尋電子郵件黑名單、書籍搜尋使用二分搜尋法
?
◆ 回溯演算法
˙ 主要內容:走迷宮、迷宮設計與堆疊
˙ 創意應用:排列組合、密碼生成、圖的著色、任務分配、走迷宮
?
◆ 從遞迴看經典演算法
˙ 主要內容:河內塔、八皇后、碎形、VLSI設計費波納契數列
˙ 創意應用:費波納契數列、排列組合、密碼、最少著色、數獨
?
◆ 圖形(Graph)理論
˙ 主要內容:廣度優先搜尋、深度優先搜尋、拓墣排序、Kahn’s、最小生成樹演算法、Prim、Kruskal
˙ 創意應用:走迷宮、社交網路中的最短關係鏈、網路爬蟲、航班路徑查找、檢測圖中的環、拓撲排序、島嶼數計算、金融與經濟分析
?
◆ 圖形理論之最短路徑演算法
˙ 主要內容:Dijkstra’s、Bellman-Ford、A*
˙ 創意應用:GPS導航實例、金融市場套利檢測、專案管理中的最短時間計算、機器翻譯、機器人路徑規劃、電信網路費用計算、太空探測器的導航
?
◆ 貪婪演算法(Greedy Algorithm)
˙ 主要內容:局部最佳解、霍夫曼(Huffman)演算法、認識NP-Complete
˙ 創意應用:找零錢問題、選課分析、背包裝滿最高價值商品、購買廣告與電台選擇、業務員旅行之最短路徑、工作排程問題
?
◆ 動態規劃演算法
˙ 主要內容:思維與步驟、弗洛伊德(Floyd-Warshall)演算法
˙ 創意應用:找零錢問題、背包問題、旅遊行程的安排、挖金礦問題、最長共用子字串
?
◆ 資料加密到資訊安全演算法
˙ 主要內容:資料安全與資料加密、摩斯密碼、凱薩密碼、文件加密技術
˙ 創意應用:訊息鑑別碼、數位簽章、數位憑證
?
◆ 常見職場面試的演算法
˙ 主要內容:基數轉換、質數、回文、歐幾里德演算法、最小公倍數、網頁排名PageRank
˙ 創意應用:文學創作、製造業同步生產週期、物流管理、網路路由週期性檢查
?
◆ 精選LeetCode考題演算法
˙ 主要內容:爬樓梯、強盜搶劫、粉刷房子、粉刷籬笆、棒球比賽得分、判斷矩形是否相交、分糖果、機器人路徑、小孩分餅乾、賣檸檬汁找錢
˙ 創意應用:財務規劃投資、最佳股票買賣時機、最佳資源分配、遊戲計分系統、迷宮探險
一本書的誕生最重要價值是有系統傳播知識,讀者可以從有系統知識架構,輕鬆、快速學會想要的知識。
寫過許多的電腦書著作,本書沿襲筆者著作的特色,程式實例豐富,相信讀者只要遵循本書內容必定可以在最短時間使用 Python?精通演算法應用,編著本書雖力求完美,但是學經歷不足,謬誤難免,尚祈讀者不吝指正。
?
?
洪錦魁2024/7/15
[email protected]
教學資源說明
教學資源有教學投影片和習題解答。
本書習題實作題約105題均有習題解答,如果您是學校老師同時使用本書教學,歡迎與本公司聯繫,本公司將提供習題解答與教學投影片。請老師聯繫時提供任教學校、科系、Email、和手機號碼,以方便深智公司業務單位協助您。
臉書粉絲團
歡迎加入:王者歸來電腦專業圖書系列
歡迎加入:MQTT與AIoT整合應用?
歡迎加入:iCoding程式語言讀書會(Python, Java, C, C++, C#, JavaScript, 大數據, 人工智慧等不限),讀者可以不定期獲得本書籍和作者相關訊息。
歡迎加入:穩健精實AI技術手作坊????
讀者資源說明
請至本公司網頁deepwisdom.com.tw下載本書程式實例與偶數題習題解答。
?
?