特價 -20%

演算法 圖解原理 x Python實作 x 創意應用 王者歸來DM2456

原始價格:NT$780。目前價格:NT$624。

出版商 深智數位股份有限公司
出版日期 2024年08月08日
語言 繁體中文
頁數 560
ISBN 9786267383964

Add to Wishlist
貨號: DM2456 Categories: ,

描述

內容簡介

天瓏購書獨家贈送習題解答

演算法

圖解原理 x Python實作 x 創意應用

王者歸來

(全彩印刷)

本書內容

★★★★★【國內第1本演算法 + 創意實作】★★★★★

★★★★★【彩色圖解演算法】【Python創意程式】★★★★★

★★★★★【約700張彩色圖片+ 296個創意應用】★★★★★

 

這是一本使用Python從零開始指導讀者的演算法入門書籍,閱讀本書內容,讀者可以學會下列知識的創意潛在應用:

演算法基本觀念

★ 主要內容:時間複雜度、空間複雜度

☆ 創意應用:一個要計算8411億年的程式

◎陣列與鏈結串列

主要內容:陣列、單向(雙向)鏈結串列、循環鏈結串列

創意應用:客戶資料管理、庫存管理系統、瀏覽器歷史記錄管理系統、音樂播放管理、醫療排隊系統

◎佇列(Queue)

主要內容:插入、讀取、串列模擬佇列

創意應用:模擬銀行排隊系統、生產者 - 消費者、網路封包處理、網站爬蟲的URL管理

◎堆疊(Stack)

主要內容:堆入push、取出pop、認識堆別在函數呼叫的角色

創意應用:模擬銀行排隊系統、生產者 - 消費者、網路封包處理、網站爬蟲的URL管理

◎二元樹(Binary Tree)

主要內容:建立、讀取、前序(中序與後序)遍歷二元樹

創意應用:表達式樹、家譜樹、網頁導航樹、遊戲AI決策樹

◎堆積樹(Heap Tree)

主要內容:建立、取出、刪除、最小(最大)堆積樹

創意應用:線上遊戲得分排行榜、物流中心的貨物調度、醫院緊急情況處理系統、電商平台推薦系統設計、多任務處理最短作業優先調度

◎雜湊表(Hash Table)

主要內容:雜湊表與陣列、效能分析、模組

創意應用:電影評分系統、電子郵件垃圾過濾器、社交媒體標籤系統、網頁瀏覽記錄、簡單的快取系統

◎排序

主要內容:泡沫、雞尾酒、選擇、插入、堆積樹、快速與合併排序

創意應用:社交媒體貼文按讚數排序、任務排序、KTV點播次數排序、影評排序、旅館價位排序

◎數據搜尋

主要內容:順序、二分搜尋、搜尋最大值

創意應用:順序搜尋商品庫存、二分搜尋法查詢書籍、順序搜尋電子郵件黑名單、書籍搜尋使用二分搜尋法

◎回溯演算法

主要內容:走迷宮、迷宮設計與堆疊

創意應用:排列組合、密碼生成、圖的著色、任務分配、走迷宮

◎從遞迴看經典演算法

主要內容:河內塔、八皇后、碎形、VLSI設計費波納契數列

創意應用:費波納契數列、排列組合、密碼、最少著色、數獨

◎圖形(Graph)理論

主要內容:廣度優先搜尋、深度優先搜尋、拓墣排序、Kahn’s、最小生成樹演算法、Prim、Kruskal

創意應用:走迷宮、社交網路中的最短關係鏈、網路爬蟲、航班路徑查找、檢測圖中的環、拓撲排序、島嶼數計算、金融與經濟分析

◎圖形理論之最短路徑演算法

主要內容:廣度優先搜尋、深度優先搜尋、拓墣排序、Kahn’s、最小生成樹演算法、Prim、Kruskal

創意應用:GPS導航實例、金融市場套利檢測、專案管理中的最短時間計算、機器翻譯、機器人路徑規劃、電信網路費用計算、太空探測器的導航

◎貪婪演算法(Greedy Algorithm)

主要內容:局部最佳解、霍夫曼(Huffman)演算法、認識NP-Complete

創意應用:找零錢問題、選課分析、背包裝滿最高價值商品、購買廣告與電台選擇、業務員旅行之最短路徑、工作排程問題

◎動態規劃演算法

主要內容:思維與步驟、弗洛伊德(Floyd-Warshall)演算法

創意應用:找零錢問題、背包問題、旅遊行程的安排、挖金礦問題、最長共用子字串

◎資料加密到資訊安全演算法

主要內容:資料安全與資料加密、摩斯密碼、凱薩密碼、文件加密技術

創意應用:訊息鑑別碼、數位簽章、數位憑證

◎常見職場面試的演算法

主要內容:基數轉換、質數、回文、歐幾里德演算法、最小公倍數、網頁排名PageRank

創意應用:文學創作、製造業同步生產週期、物流管理、網路路由週期性檢查

◎精選LeetCode考題演算法

主要內容:爬樓梯、強盜搶劫、粉刷房子、粉刷籬笆、棒球比賽得分、判斷矩形是否相交、分糖果、機器人路徑、小孩分餅乾、賣檸檬汁找錢

創意應用:財務規劃投資、最佳股票買賣時機、最佳資源分配、遊戲計分系統、迷宮探險

 

作者簡介

洪錦魁

2023 年博客來10 大暢銷華文作家,多年來唯一獲選的電腦書籍作者,也是一位跨越電腦作業系統與科技時代的電腦專家,著作等身的作家。

   DOS 時代他的代表作品是「IBM PC 組合語言、C、C++、Pascal、資料結構」。

   Windows 時代他的代表作品是「Windows Programming 使用 C、Visual Basic」。

   Internet 時代他的代表作品是「網頁設計使用 HTML」。

   大數據時代他的代表作品是「R 語言邁向 Big Data 之路」。

   AI 時代他的代表作品是「機器學習 Python 實作」。

   通用 AI 時代,國內第 1 本ChatGPT、Copilot」的作者。

作品曾被翻譯為簡體中文馬來西亞文英文,近年來作品則是在北京清華大學台灣深智同步發行:

1:CJavaPythonC#R 最強入門邁向頂尖高手之路王者歸來

2:Python 網路爬蟲/ 影像創意/ 演算法邏輯思維/ 資料視覺化 - 王者歸來

3:網頁設計HTML+CSS+JavaScript+jQuery+Bootstrap+Google Maps 王者歸來

4:機器學習基礎數學、微積分、真實數據、專題Python 實作王者歸來

5:Excel 完整學習、Excel 函數庫、Excel VBA 應用王者歸來

6:Python 操作Excel 最強入門邁向辦公室自動化之路王者歸來

7:Power BI 最強入門 – AI 視覺化智慧決策雲端分享王者歸來

8:國內第1 本無料AIAI 職場AI 行銷的作者

他的多本著作皆曾登上天瓏博客來Momo 電腦書類,不同時期暢銷排行榜第1 名,他的著作特色是,所有程式語法或是功能解說會依特性分類,同時以實用的程式範例做說明,不賣弄學問,讓整本書淺顯易懂,讀者可以由他的著作事半功倍輕鬆掌握相關知識。

目錄

第1 章 演算法基本觀念

1-1 電腦的演算法

1-2 遞迴函數設計

1-2-1 從掉入無限遞迴說起

1-2-2 非遞迴式設計階乘數函數

1-2-3 從一般函數進化到遞迴函數

1-3 好的演算法與不好的演算法

1-3-1 不好的演算法

1-3-2 好的演算法

1-4 程式執行的時間量測方法 – 時間複雜度

1-4-1 基本觀念

1-4-2 時間量測複雜度

1-5 記憶體的使用 – 空間複雜度

1-5-1 基本觀念

1-5-2 常見的空間複雜度計算

1-6 資料結構

1-7 習題

 

第2 章 陣列(Array)

創意程式:客戶資料管理、庫存管理系統

2-1 基本觀念

2-2 使用索引存取陣列內容

2-3 新資料插入陣列

2-3-1 假設當下有足夠的連續記憶體空間

2-3-2 假設當下沒有足夠的連續記憶體空間

2-4 刪除陣列元素

2-5 思考陣列的優缺點

2-6 與陣列有關的Python 程式

2-6-1 建立陣列

2-6-2 存取陣列內容

2-6-3 將資料插入陣列

2-6-4 刪除陣列元素

2-6-5 搜尋陣列元素

2-6-6 更新陣列內容

2-7 陣列的創意應用

2-8 習題

 

第3 章 鏈結串列(Linked list)

創意程式:瀏覽器歷史記錄管理系統、音樂播放管理、醫療排隊系統

3-1 鏈結串列資料形式與記憶體觀念

3-2 鏈結串列的資料讀取

3-3 新資料插入鏈結串列

3-4 刪除鏈結串列的節點元素

3-5 循環鏈結串列(circle linked list)

3-6 雙向鏈結串列

3-7 陣列與鏈結串列基本操作時間複雜度比較

3-8 與鏈結串列有關的Python 程式

3-8-1 建立鏈結串列

3-8-2 建立鏈結串列類別和遍歷此鏈結串列

3-8-3 在鏈結串列第一個節點前插入一個新的節點

3-8-4 在鏈結串列末端插入新的節點

3-8-5 在鏈結串列中間插入新的節點

3-8-6 在鏈結串列中移除指定內容的節點

3-8-7 建立循環鏈結串列

3-8-8 雙向鏈結串列

3-9 鏈結串列的創意應用

3-10 習題

 

第4 章 佇列(Queue)

創意程式:模擬銀行排隊系統、生產者 - 消費者、網路封包處理、網站爬蟲的URL 管理

4-1 資料插入enqueue

4-2 資料讀取dequeue

4-3 使用串列模擬佇列的操作

4-4 與佇列有關的Python 模組

4-5 佇列的創意應用

4-6 習題

 

第5 章 堆疊(Stack)

創意程式:編譯程式處理括號匹配、函數呼叫管理、堆疊反轉字串、瀏覽器的前進和後退功能

5-1 資料堆入push

5-2 資料取出pop

5-3 Python 實作堆疊

5-3-1 使用串列(list) 模擬堆疊操作

5-3-2 自行建立Stack 類別執行相關操作

5-4 函數呼叫與堆疊運作

5-5 遞迴呼叫與堆疊運作

5-6 堆疊的創意應用

5-7 習題

 

第6 章 二元樹(Binary Tree)

創意程式:表達式樹、家譜樹、網頁導航樹、遊戲AI 決策樹

6-1 建立二元樹

6-2 刪除二元樹的節點

6-3 搜尋二元樹的數據

6-4 更進一步認識二元樹

6-5 記憶體儲存二元樹的方法 

6-6 Python 實作二元樹

6-6-1 使用陣列建立二元樹

6-6-2 鏈結串列方式建立二元樹的根節點

6-6-3 使用鏈結串列建立二元樹

6-6-4 遍歷二元樹使用中序(inorder) 列印

6-6-5 遍歷二元樹使用前序(preorder) 列印

6-6-6 遍歷二元樹使用後序(postorder) 列印

6-6-7 二元樹節點的搜尋

6-6-8 二元樹節點的刪除

6-6-9 二元樹的應用與工作效率

6-7 二元樹的缺點

6-8 二元樹的創意應用

6-9 習題

 

第7 章 堆積樹(Heap Tree)

創意程式:線上遊戲得分排行榜、物流中心的貨物調度、醫院緊急情況處理系統、電商平台推薦系統設計、多任務處理最短作業優先調度

7-1 建立堆積樹

7-2 插入數據到堆積樹

7-3 取出最小堆積樹的值

7-4 最小堆積樹與陣列

7-5 Python 內建堆積樹模組heapq

7-5-1 建立二元堆積樹heapify( )

7-5-2 堆入元素到堆積heappush( )

7-5-3 從堆積取出和刪除元素heappop( )

7-5-4 堆入和取出heappushpop( )

7-5-5 傳回最大或是最小的n 個元素

7-5-6 取出堆積的最小值和插入新元素

7-5-7 堆積的元素是元組(tuple)

7-5-8 二元堆積樹排序的應用

7-6 Python 硬功夫 - 自己建立堆積樹模組

7-6-1 自己建立堆積樹

7-6-2 自己建立方法取出堆積樹的最小值

7-6-3 插入節點

7-7 堆積樹的創意應用

7-9 習題

 

第8 章 雜湊表(Hash Table)

創意程式:電影評分系統、電子郵件垃圾過濾器、社交媒體標籤系統、網頁瀏覽記錄、簡單的快取系統

8-1 基本觀念

8-2 雜湊表轉成陣列

8-2-1 雜湊表寫入

8-2-2 雜湊碰撞與鏈結法

8-2-3 雜湊碰撞與開放定址法

8-3 搜尋雜湊表

8-4 雜湊表的規模與擴充

8-5 好的雜湊表與不好的雜湊表

8-6 雜湊表效能分析

8-7 Python 程式應用

8-7-1 Python 建立雜湊表

8-7-2 建立電話號碼簿

8-7-3 避免資料重複

8-7-4 Domain Name Server(DNS) 解析IP

8-8 認識雜湊表模組hashlib

8-8-1 使用md5( ) 方法計算中文/ 英文資料的雜湊值

8-8-2 計算檔案的雜湊值

8-8-3 使用sha1( ) 方法計算雜湊值

8-8-4 認識此平台可以使用的雜湊演算法

8-8-5 認識跨平台可以使用的雜湊演算法

8-9 雜湊表的創意應用

8-10 習題

 

第9 章 排序

創意程式:社交媒體貼文按讚數排序、任務排序、KTV 點播次數排序、影評排序、旅館價位排序

9-1 排序的觀念與應用

9-1-1 基礎觀念

9-1-2 一般排序與分治法

9-2 泡沫排序法(Bubble Sort)

9-2-1 圖解泡沫排序演算法

9-2-2 Python 程式實作

9-3 雞尾酒排序(Cocktail Sort)

9-3-1 圖解雞尾酒排序演算法

9-3-2 Python 程式實作

9-4 選擇排序(Selection Sort)

9-4-1 圖解選擇排序演算法

9-4-2 Python 程式實作

9-4-3 選擇排序的應用

9-5 插入排序(Insertion Sort)

9-5-1 圖解插入排序演算法

9-5-2 插入排序與玩撲克牌

9-5-3 Python 程式實作

9-6 堆積樹排序(Heap Sort)

9-6-1 圖解堆積樹排序演算法

9-6-2 Python 程式實作

9-7 快速排序(Quick Sort)

9-7-1 圖解快速排序演算法

9-7-2 Python 程式實作

9-8 合併排序(Merge Sort)

9-8-1 圖解合併排序演算法

9-8-2 Python 程式實作

9-9 排序的創意應用

9-10 習題

 

第10 章 數據搜尋

創意程式:順序搜尋商品庫存、二分搜尋法查詢書籍、順序搜尋電子郵件黑名單、書籍搜尋使用二分搜尋法

10-1 順序搜尋法(Sequential Search)

10-1-1 圖解順序搜尋演算法

10-1-2 Python 程式實作

10-2 二分搜尋法(Binary Search)

10-2-1 圖解二分搜尋法

10-2-2 Python 程式實作

10-3 搜尋最大值演算法

10-4 數據搜尋的創意應用

10-5 習題

 

第11 章 回溯演算法

創意程式:排列組合、密碼生成、圖的著色、任務分配、走迷宮

11-1 走迷宮與回溯演算法

11-2 迷宮設計堆疊扮演的角色

11-3 Python 程式實作走迷宮

11-4 回溯演算法的創意應用

11-4-1 排列組合

11-4-2 生成所有可能的密碼組合

11-4-3 圖的著色問題

11-4-4 任務分配問題

11-5 習題

 

第12 章 從遞迴看經典演算法

創意程式:費波納契(Fibonacci) 數列、河內塔、八皇后、碎形 – VLSI 設計、數獨

12-1 費波納契(Fibonacci) 數列

12-2 河內塔演算法

12-2-1 了解河內塔問題

12-2-2 手動實作河內塔問題

12-2-3 Python 程式實作河內塔問題

12-2-4 圖例解說河內塔完整遞迴流程

12-3 八皇后演算法

12-3-1 了解八皇后的題目

12-3-2 回溯(Backtracking) 演算法與八皇后

12-3-3 遞迴的解法

12-4 碎形 – VLSI 設計演算法

12-4-1 演算法基本觀念

12-4-2 Python 程式實作

12-5 數獨問題

12-5-1 數獨的歷史

12-5-2 數獨問題的細節

12-5-3 數獨演算法

12-5-4 Python 實作

12-5-5 數獨的解答唯一性

12-6 習題

 

第13 章 圖形(Graph) 理論

創意程式:社交網路中的最短關係鏈、網路爬蟲、航班路徑查找、檢測圖中的環、拓撲排序、島嶼數計算、金融與經濟分析

13-1 圖形(Graph) 的基本觀念

13-1-1 基本觀念

13-1-2 生活實例的觀念擴展

13-1-3 加權圖形(Weighted Graph)

13-1-4 有向圖形(Directed Graph)

13-1-5 環(Cycle) 與有向無環圖(Directed Acyclic Graph)

13-1-6 拓樸排序(Topological Sort)

13-2 廣度優先搜尋演算法觀念解說

13-2-1 廣度優先搜尋演算法理論

13-2-2 生活實務解說

13-2-3 最短路徑

13-3 Python 實作廣度優先搜尋演算法

13-3-1 好用的collections 模組的deque()

13-3-2 廣度優先搜尋演算法實作

13-3-3 廣度優先演算法拜訪所有節點

13-3-4 走迷宮

13-4 廣度優先搜尋的創意實例

13-4-1 社交網路中的最短關係鏈

13-4-2 網路爬蟲

13-4-3 航班路徑查詢

13-5 深度優先搜尋演算法理論與實作

13-5-1 深度優先搜尋演算法理論

13-5-2 深度優先搜尋演算法實例

13-6 深度優先搜尋的創意實例

13-6-1 檢測圖中的環

13-6-2 拓撲排序

13-6-3 島嶼數計算

13-7 最小生成樹演算法

13-7-1 Prim 演算法

13-7-2 Kruskal 演算法

13-7-3 最小生成樹的創意應用

13-7-4 金融與經濟學的創意應用

13-8 習題

 

第14 章 圖形理論之最短路徑演算法

創意程式:GPS 導航實例、金融市場套利檢測、專案管理中的最短時間計算、機器翻譯、機器人路徑規劃、電信網路費用計算、太空探測器的導航

14-1 戴克斯特拉(Dijkstra's) 演算法

14-1-1 最短路徑與最快路徑問題

14-1-2 戴克斯特拉演算法

14-1-3 Python 程式實作

14-1-4 戴克斯特拉演算法的創意應用

14-1-5 GPS 導航實例

14-2 貝爾曼- 福特(Bellman-Ford) 演算法

14-2-1 貝爾曼- 福特演算法原理與實作

14-2-2 貝爾曼- 福特演算法的創意應用

14-2-3 金融市場套利檢測

14-2-4 專案管理中的最短時間計算

14-3 A* 演算法

14-3-1 A* 演算法觀念

14-3-2 A* 演算法步驟與實作

14-3-3 A* 演算法的創意應用

14-3-4 機器翻譯

14-4 習題

第15 章 貪婪演算法(Greedy Algorithm)

創意程式:找零錢問題、選課分析、背包裝滿最高價值商品、購買廣告與電台選擇、業務員旅行之最短路徑、霍夫曼(Huffman) 演算法、工作排程問題

15-1 認識貪婪演算法

15-1-1 認識貪婪演算法

15-1-2 貪婪演算法的創意應用

15-1-3 找零問題

15-2 選課分析

15-2-1 問題分析

15-2-2 演算法分析

15-2-3 Python 程式實作

15-3 背包問題 – 貪婪演算法不是最完美的結果

15-3-1 問題分析

15-3-2 演算法分析

15-3-3 Python 實作

15-4 購買廣告與電台選擇

15-4-1 問題分析

15-4-2 演算法分析

15-4-3 Python 實作

15-5 業務員旅行之最短路徑

15-5-1 問題分析

15-5-2 演算法分析

15-6 霍夫曼(Huffman) 演算法

15-6-1 一般編碼說起

15-6-2 霍夫曼演算法精神

15-6-3 程式設計霍夫曼演算法步驟

15-7 NP-Complete 問題

15-8 習題

 

第16 章 動態規劃演算法

創意程式:找零錢問題、背包問題、旅遊行程的安排、挖金礦問題、最長共用子字串、弗洛伊德(Floyd-Warshall) 演算法

16-1 動態規劃的思維與步驟

16-1-1 動態規劃的思維與步驟

16-1-2 從費波納契數列了解動態規劃的步驟

16-1-3 用表格表示與解釋動態規劃演算法

16-1-4 動態規劃的創意應用

16-2 再談背包問題 – 動態規劃演算法

16-2-1 簡單同時正確的演算法但是耗時

16-2-2 動態規劃演算法16-2-3 動態演算法延伸探討

16-2-4 存放順序也不影響結果

16-2-5 Python 程式實作

16-3 旅遊行程的安排

16-3-1 旅遊行程觀念

16-3-2 Python 程式實作

16-4 挖金礦問題

16-5 最長共用子字串

16-5-1 最長共用子字串(Longest Common Substring)

16-5-2 最長共用子序列(Longest Common Subsequence)

16-6 弗洛伊德(Floyd-Warshall) 演算法

16-6-1 弗洛伊德演算法的基本思維

16-6-2 弗洛伊德動態規劃的步驟

16-7 習題

 

第17 章 資料加密到資訊安全演算法

17-1 資料安全與資料加密

17-1-1 認識資料安全的專有名詞

17-1-2 加密

17-2 摩斯密碼(Morse code) 

17-3 凱薩密碼

17-4 再談文件加密技術

17-5 全天下只有你可以解的加密程式? 你也可能無法解?

17-6 雜湊函數與SHA 家族

17-6-1 再談雜湊函數

17-6-2 MD5(Message-Digest Algorithm)

17-6-3 SHA 家族

17-7 金鑰密碼

17-7-1 對稱金鑰密碼

17-7-2 公開金鑰密碼

17-8 訊息鑑別碼(Message authentication code)

17-9 數位簽章(Digital Signature)

17-10 數位憑證(Digital certificate) 

17-11 習題

 

第18 章 常見職場面試的演算法

創意程式:文學創作、製造業同步生產週期、物流管理、網路路由週期性檢查

18-1 基數轉換

18-1-1 10 進制與2 進制

18-1-2 10 進制轉2 進制

18-1-3 2 進制轉10 進制

18-2 質數(Prime number) 測試

18-2-1 傳統質數測試

18-2-2 篩法求質數(Sieve of Eratosthenes)

18-3 回文(Palindrome) 演算法

18-4 歐幾里德演算法

18-4-1 土地區塊劃分

18-4-2 輾轉相除法

18-4-3 GCD 演算法的創意應用

18-5 最小公倍數(Least Common Multiple)

18-5-1 數學原理

18-5-2 創意應用

18-6 網頁排名PageRank

18-6-1 超連結排名的基本觀念

18-6-2 權威性排名

18-6-3 隨機漫遊記法

18-7 習題

 

第19 章 精選LeetCode 考題演算法

創意程式:財務規劃投資、最佳股票買賣時機、最佳資源分配、遊戲計分系統、迷宮探險

19-1 爬樓梯問題

19-2 搶劫物品問題

19-3 最少經費粉刷房子

19-4 粉刷籬笆的方法

19-5 棒球比賽得分總計

19-6 判斷2 個矩形是否相交

19-7 分糖果問題

19-8 記錄機器人行走路徑

19-9 設計滿足小孩分餅乾的問題

19-10 賣檸檬汁找錢的問題

19-11 習題

 

這本書的第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

jiinkwei@me.com

教學資源說明

教學資源有教學投影片和習題解答。

本書習題實作題約105題均有習題解答,如果您是學校老師同時使用本書教學,歡迎與本公司聯繫,本公司將提供習題解答與教學投影片。請老師聯繫時提供任教學校、科系、Email、和手機號碼,以方便深智公司業務單位協助您。

臉書粉絲團

歡迎加入:王者歸來電腦專業圖書系列

歡迎加入:MQTT與AIoT整合應用

歡迎加入:iCoding程式語言讀書會(Python, Java, C, C++, C#, JavaScript, 大數據, 人工智慧等不限),讀者可以不定期獲得本書籍和作者相關訊息。

歡迎加入:穩健精實AI技術手作坊

讀者資源說明

請至本公司網頁deepwisdom.com.tw下載本書程式實例與偶數題習題解答。

額外資訊

出版商

深智數位股份有限公司

出版日期

2024年08月08日

語言

繁體中文

頁數

560

ISBN

9786267383964