Python算法從菜鳥到達人

猿媛之家,黃斐然,郭晶晶,劉誌全 著

  • 出版商: 機械工業
  • 出版日期: 2021-09-01
  • 定價: $534
  • 售價: 7.5$401
  • 語言: 簡體中文
  • 頁數: 268
  • 裝訂: 平裝
  • ISBN: 7111687965
  • ISBN-13: 9787111687962
  • 相關分類: Python程式語言面試技巧
  • 立即出貨

買這商品的人也買了...

商品描述

本書以 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
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
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