演算法: 圖解邏輯思維+Python程式實作, 王者歸來

演算法: 圖解邏輯思維+Python程式實作, 王者歸來

出版日期:
2022/10/19
9
720648
查詢門市庫存
★★★★★【650張圖例】+【圖解演算法原理和邏輯思維】★★★★★
★★★★★【20個主題】+【149個Python程式實例】★★★★★
★★★★★【邏輯思維】+【Python實作】=【演算法的精髓】★★★★★

內容簡介

★★★★★【650張圖例】+【圖解演算法原理和邏輯思維】★★★★★
★★★★★【20個主題】+【149個Python程式實例】★★★★★
★★★★★【邏輯思維】+【Python實作】=【演算法的精髓】★★★★★

本書的第一版曾經獲得博客來與天瓏暢銷排行榜第1名,撰寫這本書時採用下列原則。
1:彩色圖片引導讀者認識演算法的邏輯思維。
2:Python程式實作演算法原理。
3:章節習題引導讀者複習與自我練習。
當讀者遵循這步驟學習時,相信一定可以完整學習演算法的相關知識,本書的主體內容如下:
☆ 20個主題
★ 認識時間複雜度和空間複雜度
☆ 7大資料結構完整圖說與程式實例
★ 7大排序法完整圖說與程式實例
☆ 遞迴與回溯演算法
★ 電腦領域的經典演算法八皇后和河內塔
☆ 碎形與VLSI設計應用
★ 圖形理論
☆ 深度、寬度優先搜尋
★ Bellman-Ford演算法
☆ Dijkstra’s演算法
★ 貪婪演算法
☆ 動態規劃演算法
★ 資訊安全演算法
☆ 摩斯與凱薩密碼
★ 金鑰系統觀念,解說設計金鑰方法或是應用目前市面上成熟的金鑰
☆ 訊息鑑別碼(Message authentication code)
★ 數位簽章(Digital Signature)
☆ 數位憑證(Digital certificate)
★ 基礎機器學習KNN演算法
☆ K-means演算法
★ 網頁排名演算法
☆ 常見的演算法考題與Leetcode考題
展開看更多

產品目錄

第一章 演算法基本觀念
1-1 電腦的演算法 ........................................ 1-3
1-2 遞迴函數設計 ........................................ 1-4
1-3 好的演算法與不好的演算法 ............... 1-11
1-4 程式執行的時間量測方法
– 時間複雜度 ....................................... 1-15
1-5 記憶體的使用 – 空間複雜度 ............... 1-21
1-6 資料結構 ............................................. 1-25
1-7 習題 ..................................................... 1-26
第二章 陣列(Array)
2-1 基本觀念 ............................................... 2-2
2-2 使用索引存取陣列內容 ......................... 2-2
2-3 新資料插入陣列 .................................... 2-3
2-4 刪除陣列元素 ........................................ 2-5
2-5 思考陣列的優缺點 ................................ 2-6
2-6 與陣列有關的Python 程式 ................... 2-7
2-7 習題 ..................................................... 2-12
第三章 鏈結串列(Linked list)
3-1 鏈結串列資料形式與記憶體觀念 .......... 3-2
3-2 鏈結串列的資料讀取 ............................. 3-3
3-3 新資料插入鏈結串列 ............................. 3-3
3-4 刪除鏈結串列的節點元素 ..................... 3-4
3-5 循環鏈結串列(circle linked list) ............ 3-4
3-6 雙向鏈結串列 ........................................ 3-5
3-7 陣列與鏈結串列基本操作時間複雜度
比較 ....................................................... 3-5
3-8 與鏈結串列有關的Python 程式 ............ 3-5
3-9 習題 ..................................................... 3-19
第四章 佇列(Queue)
4-1 資料插入enqueue ................................ 4-2
4-2 資料讀取dequeue ................................ 4-3
4-3 使用串列模擬佇列的操作 ..................... 4-4
4-4 與佇列有關的Python 模組 ................... 4-6
4-5 習題 ....................................................... 4-7
第五章 堆疊(Stack)
5-1 資料堆入push ....................................... 5-2
5-2 資料取出pop ........................................ 5-4
5-3 Python 實作堆疊 ................................... 5-5
5-4 函數呼叫與堆疊運作 ............................. 5-8
5-5 遞迴呼叫與堆疊運作 ........................... 5-10
5-6 習題 ..................................................... 5-13
第六章 二元樹(Binary Tree)
6-1 建立二元樹 ............................................ 6-2
6-2 刪除二元樹的節點 ................................ 6-4
6-3 搜尋二元樹的數據 ................................ 6-8
6-4 更進一步認識二元樹 ............................. 6-9
6-5 記憶體儲存二元樹的方法 ................... 6-11
6-6 Python 實作二元樹 ............................. 6-12
6-7 二元樹的缺點 ...................................... 6-39
6-8 習題 ..................................................... 6-39
第七章 堆積樹(Heap Tree)
7-1 建立堆積樹 ............................................ 7-2
7-2 插入數據到堆積樹 ................................ 7-4
7-3 取出最小堆積樹的值 ............................. 7-6
7-4 最小堆積樹與陣列 ................................ 7-8
7-5 Python 內建堆積樹模組heapq ............. 7-9
7-6 Python 硬功夫 - 自己建立堆積樹模組 . 7-15
7-7 習題 ..................................................... 7-18
第八章 雜湊表(Hash Table)
8-1 基本觀念 ............................................... 8-2
8-2 雜湊表轉成陣列 .................................... 8-3
8-3 搜尋雜湊表 ............................................ 8-8
8-4 雜湊表的規模與擴充 ............................. 8-9
8-5 好的雜湊表與不好的雜湊表 ............... 8-11
8-6 雜湊表效能分析 .................................. 8-12
8-7 Python 程式應用 ................................. 8-13
8-8 認識雜湊表模組hashlib ...................... 8-16
8-9 習題 ..................................................... 8-21
第九章 排序
9-1 排序的觀念與應用 ................................ 9-2
9-2 泡沫排序法(Bubble Sort)...................... 9-4
9-3 雞尾酒排序(Cocktail Sort) .................. 9-10
9-4 選擇排序(Selection Sort) .................... 9-14
9-5 插入排序(Insertion Sort) .................... 9-18
9-6 堆積樹排序(Heap Sort) ...................... 9-21
9-7 快速排序(Quick Sort) ......................... 9-26
9-8 合併排序(Merge Sort) ........................ 9-29
9-9 習題 ..................................................... 9-35
第十章 數據搜尋
10-1 順序搜尋法(Sequential Search) .......... 10-2
10-2 二分搜尋法(Binary Search) ................ 10-3
10-3 搜尋最大值演算法 .............................. 10-6
10-4 習題 ..................................................... 10-7
第十一章 堆疊、回溯演算法與迷宮
11-1 走迷宮與回溯演算法 ........................... 11-2
11-2 迷宮設計堆疊扮演的角色 ................... 11-5
11-3 Python 程式實作走迷宮 ...................... 11-6
11-4 習題 ..................................................... 11-9
第十二章 從遞迴看經典演算法
12-1 費波納契(Fibonacci) 數列 .................. 12-2
12-2 河內塔演算法 ...................................... 12-4
12-3 八皇后演算法 .................................... 12-17
12-4 碎形 – VLSI 設計演算法 ..................... 12-21
12-5 習題 ................................................... 12-25
第十三章 圖形(Graph) 理論
13-1 圖形(Graph) 的基本觀念 .................... 13-2
13-2 廣度優先搜尋演算法觀念解說 ............ 13-6
13-3 Python 實作廣度優先搜尋演算法 ..... 13-13
13-4 深度優先搜尋演算法理論與實作 ...... 13-22
13-5 習題 ................................................... 13-30
第十四章 圖形理論之最短路徑演算法
14-1 戴克斯特拉(Dijkstra's) 演算法 ............ 14-2
14-2 貝爾曼- 福特(Bellman-Ford) 演算法 . 14-7
14-3 A* 演算法 .......................................... 14-10
14-4 習題 ................................................... 14-14
第十五章 貪婪演算法(Greedy Algorithm)
15-1 選課分析 ............................................. 15-2
15-2 背包問題 – 貪婪演算法不是最完美的
結果 ..................................................... 15-5
15-3 電台選擇 ............................................. 15-8
15-4 業務員旅行 ........................................ 15-16
15-5 NP-Complete 問題 ............................. 15-24
15-6 習題 ................................................... 15-25
第十六章 動態規劃演算法
16-1 再談背包問題 – 動態規劃演算法 ........ 16-2
16-2 旅遊行程的安排 ................................ 16-12
16-3 挖金礦問題 ........................................ 16-14
16-4 最長共用子字串 ................................ 16-15
16-5 習題 ................................................... 16-20
第十七章 資料加密到資訊安全演算法
17-1 資料安全與資料加密 ........................... 17-2
17-2 摩斯密碼(Morse code) ....................... 17-5
17-3 凱薩密碼 ............................................. 17-7
17-4 再談文件加密技術 .............................. 17-9
17-5 全天下只有你可以解的加密程式? ... 17-10
你也可能無法解? ............................. 17-10
17-6 雜湊函數與SHA 家族 ....................... 17-12
17-7 金鑰密碼 ........................................... 17-18
17-8 訊息鑑別碼
(Message authentication code) ......... 17-27
17-9 數位簽章(Digital Signature) .............. 17-28
17-10 數位憑證(Digital certificate) ............. 17-30
17-11 習題 ................................................... 17-33
第十八章  人工智慧破冰之旅-KNN 和
K-means 演算法演算法
18-1 將畢氏定理應用在性向測試 ............... 18-2
18-2 電影分類 ............................................. 18-4
18-3 選舉造勢與銷售烤香腸 ....................... 18-7
18-4 K-means 演算法 .................................. 18-9
18-5 習題實作題 ........................................ 18-15
第十九章 常見職場面試的演算法
19-1 自動販賣機找零錢的問題 ................... 19-2
19-2 基數轉換 ............................................. 19-4
19-3 質數(Prime number) 測試 .................. 19-6
19-4 回文(Palindrome) 演算法 ................... 19-8
19-5 歐幾里德演算法 .................................. 19-9
19-6 最小公倍數(Least Common Multiple)
.......................................................... 19-12
19-7 雞兔同籠的問題 ................................ 19-13
19-8 網頁排名PageRank ........................... 19-14
19-9 習題 ................................................... 19-19
第二十章 精選LeetCode 考題演算法
20-1 爬樓梯問題 ........................................ 20-2
20-2 小偷偷物品問題 ................................. 20-3
20-3 最少經費粉刷房子 ............................. 20-4
20-4 粉刷籬笆的方法 ................................. 20-5
20-5 棒球比賽得分總計 ............................. 20-7
20-6 判斷2 個矩形是否相交 ..................... 20-9
20-7 分糖果問題 ...................................... 20-10
20-8 記錄機器人行走路徑 ....................... 20-11
20-9 設計滿足小孩分餅乾的問題 ............ 20-13
20-10 賣檸檬汁找錢的問題 ...................... 20-14

作者介紹

洪錦魁

洪錦魁



一位跨越電腦作業系統與科技時代的電腦專家,著作等身的作家。

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

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

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

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

 人工智慧時代他的代表作品是機器學習彩色圖解 + 基礎數學與基礎微積分 + Python實作

除了作品被翻譯為簡體中文、馬來西亞文,2000年作品更被翻譯為Mastering HTML英文版行銷美國,近年來作品則是在北京清華大學和台灣深智同步發行:

1:C、Java、Python最強入門邁向頂尖高手之路王者歸來

2:OpenCV影像創意邁向AI視覺王者歸來

3:Python網路爬蟲:大數據擷取、清洗、儲存與分析王者歸來

4:演算法最強彩色圖鑑 + Python程式實作王者歸來

5:matplotlib從2D到3D資料視覺化

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

6:機器學習彩色圖解 + 基礎數學、基礎微積分 + Python實作王者歸來

7:R語言邁向Big Data之路王者歸來

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

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

10:Power BI最強入門 – 大數據視覺化+智慧決策+雲端分享王者歸來

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

規格

誠品貨碼 / 2682267382006
ISBN13 / 9786267146583
ISBN10 / 6267146588
EAN貨碼 / 9786267146583
頁數 / 448
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 23X17X2CM
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送

作者相關書籍