開啟主選單

求真百科

Python算法從菜鳥到達人

來自 孔夫子網 的圖片

Python算法從菜鳥到達人》,出版社: 機械工業出版社,ISBN:9787111687962。

截至2022年,機械工業出版社年出版新書近2700種,年引進和輸出版權總量近800種,產品橫跨科技出版、教育出版、大眾出版三大板塊,覆蓋機械、電工電子、汽車、建築、計算機、經管、心理[1]、生活、科普、藝術設計、文創等十多個專業領域,以及高等教育[2]職業教育、技能教育等不同教育層次。

目錄

內容簡介

本書以 Python 語言為平台,分四個部分介紹了算法的基本概念、五種經典的算法思想、重要的數據結構以及實踐中常用的幾種算法技術。除第 1 章和第 2 章外,書中每章內容都包括了基本概念、實現方式、具體應用以及達人修煉真題。每一種算法思想中的達人修煉真題都提供了相應的源代碼,可供讀者運行,從而達到理論與實踐並重的目的。

本書從算法基本分析到算法基本思想,再到具體應用及大量真題,內容全面,條理清楚,語言通俗。本書對計算機及相關專業本科生及研究生的面試、筆試將有所幫助;此外,計算機科學相關領域的工程師以及愛好者也可以將本書作為技術參考書籍,在需要時可查找所需算法的相關內容並從中得到啟示;當然,對計算機科學感興趣的高中生以及 IT 領域項目經理也可以閱讀本書,從而開啟算法世界的大門。

目錄

前言

第一部分 算法基礎/1

第 1 章 算法綜述/2

1.1 算法在計算機系統中的作用/2

1.1.1 算法的定義/2

1.1.2 算法的地位/2

1.1.3 一個簡單的算法/3

1.2 偽代碼的約定/4

第 2 章 算法分析/6

2.1 精確效率分析/6

2.2 漸進效率分析/8

2.2.1 漸進記號/9

2.2.2 漸進記號的應用/10

2.3 遞歸式求解/15

第二部分 經典算法思想/17

第 3 章 遞歸與分治法/18

3.1 遞歸的概念/18

3.2 分治法/22

3.3 分治法的應用/25

3.4 達人修煉真題/26

第 4 章 動態規划算法/50

4.1 動態規劃基礎/50

4.1.1 動態規劃基本思想/50

4.1.2 動態規划算法舉例——長公共子序列/50

4.2 動態規划算法分析/53

4.2.1 優子結構/54

Python 算法從菜鳥到達人

VI

4.2.2 重疊子問題/54

4.3 動態規划算法的應用/55

4.3.1 0-1 背包問題/55

4.3.2 石子歸併/56

4.3.3 常用動態規劃類問題/59

4.4 達人修煉真題/60

第 5 章 貪心算法/79

5.1 貪心算法基礎/79

5.1.1 貪心算法基本思想/79

5.1.2 貪心算法舉例——裝載問題/79

5.2 貪心算法的分析/80

5.3 貪心算法的應用/81

5.3.1 普通背包問題/81

5.3.2 活動安排問題/83

5.3.3 紀念品分組/85

5.4 達人修煉真題/87

第 6 章 回溯法/91

6.1 回溯法基本概念與算法框架/91

6.1.1 基本思路/91

6.1.2 回溯法的實現/93

6.2 回溯法的應用/94

6.2.1 0-1 背包問題/94

6.2.2 八皇后問題/96

6.2.3 一摞烙餅的排序/97

6.3 達人修煉真題/100

第 7 章 分支界限法/103

7.1 分支界限法概念與算法框架/103

7.1.1 分支界限法基本思想/103

7.1.2 算法框架與分析/104

7.1.3 一個簡單的例子(0-1 背包問題)/106

7.2 分支界限法的應用/108

7.2.1 TSP 問題/108

7.2.2 多段圖的最短路徑問題/111

7.2.3 任務分配問題/113

7.3 達人修煉真題/116

第三部分 重要數據結構/121

第 8 章 棧與隊列/122

8.1 棧/122

目錄

VII

8.2 隊列/124

8.3 達人修煉真題/128

第 9 章 鍊表/142

9.1 鍊表概述/142

9.2 鍊表的操作/143

9.3 達人修煉真題/145

第 10 章 樹與二叉樹/152

10.1 樹的概念與定義/152

10.1.1 基本概念/152

10.1.2 樹的表示/153

10.2 二叉樹/154

10.2.1 基本概念/154

10.2.2 二叉樹的存儲結構/155

10.2.3 遍歷二叉樹和線索二叉樹/156

10.3 樹、二叉樹和森林之間的關係/159

10.4 達人修煉真題/164

第 11 章 哈希表/170

11.1 哈希表概述/170

11.2 哈希表的應用/173

11.3 達人修煉真題/175

第 12 章 並查集/185

12.1 並查集基本思想/185

12.1.1 並查集概念/186

12.1.2 並查集的實現/186

12.1.3 帶權並查集/189

12.2 並查集的應用/191

12.2.1 食物鏈/191

12.2.2 Kruskal 最小生成樹算法/194

12.3 達人修煉真題/195

第 13 章 位圖/199

13.1 位圖基本概念/199

13.2 位圖法的應用/203

13.2.1 位運算常見應用/204

13.2.2 位圖法在大數據處理中的應用/207

13.3 達人修煉真題/209

第四部分 常用算法/213

第 14 章 排序算法/214

14.1 插入排序/214

Python 算法從菜鳥到達人

VIII

14.2 選擇排序/218

14.3 交換排序/222

14.4 歸併排序/226

14.5 桶排序/基數排序/228

14.6 達人修煉真題/231

第 15 章 查找算法/235

15.1 基本概念/235

15.2 靜態查找/236

15.3 動態查找/239

15.4 哈希查找/244

15.5 達人修煉真題/244

第 16 章 字符串匹配算法/250

16.1 簡單字符串匹配/250

16.2 KMP 算法/251

16.3 BM 算法/254

16.4 SUNDAY 算法/255

16.5 達人修煉真題/255

附錄/263

參考文獻