呦呦鹿鳴處 書卷彙成川

聯繫我們:
《Python數據結構與算法分析(第2版)》封面

Python數據結構與算法分析(第2版)

文件格式: EPUB · MOBI · PDF · TXT

獲取下載鏈接

瞭解數據結構與算法是透徹理解計算機科學的前提。隨著Python日益廣泛的應用,Python程序員需要實現與傳統的面向對象編程語言相似的數據結構與算法。本書是用Python描述數據結構與算法的開山之作,匯聚了作者多年的實戰經驗,向讀者透徹講解在Python環境下,如何通過一系列存儲機制高效地實現各類算法。通過本書,讀者將深刻理解Python數據結構、遞歸、搜索、排序、樹與圖的應用,等等。

第1章 導論 1
1.1 本章目標 1
1.2 入門 1
1.3 何謂計算機科學 1
1.3.1 何謂編程 3
1.3.2 為何學習數據結構及抽象數據類型 4
1.3.3 為何學習算法 4
1.4 Python基礎 5
1.4.1 數據 5
1.4.2 輸入與輸出 16
1.4.3 控制結構 18
1.4.4 異常處理 21
1.4.5 定義函數 23
1.4.6 Python面向對象編程:定義類 24
1.5 小結 37
1.6 關鍵術語 38
1.7 討論題 38
1.8 編程練習 38
第2章 算法分析 40
2.1 本章目標 0
2.2 何謂算法分析 40
2.2.1 大O記法 43
2.2.2 異序詞檢測示例 46
2.3 Python數據結構的性能 49
2.3.1 列表 49
2.3.2 字典 53
2.4 小結 55
2.5 關鍵術語 55
2.6 討論題 56
2.7 編程練習 56
第3章 基本數據結構 57
3.1 本章目標 57
3.2 何謂線性數據結構 57
3.3 棧 58
3.3.1 何謂棧 58
3.3.2 棧抽象數據類型 59
3.3.3 用Python實現棧 60
3.3.4 匹配括號 62
3.3.5 普通情況:匹配符號 64
3.3.6 將十進制數轉換成二進制數 65
3.3.7 前序、中序和後序表達式 67
3.4 隊列 75
3.4.1 何謂隊列 75
3.4.2 隊列抽象數據類型 75
3.4.3 用Python實現隊列 76
3.4.4 模擬:傳土豆 77
3.4.5 模擬:打印任務 79
3.5 雙端隊列 84
3.5.1 何謂雙端隊列 84
3.5.2 雙端隊列抽象數據類型 84
3.5.3 用Python實現雙端隊列 85
3.5.4 迴文檢測器 86
3.6 列表 88
3.6.1 無序列表抽象數據類型 88
3.6.2 實現無序列表:鏈表 89
3.6.3 有序列表抽象數據類型 97
3.6.4 實現有序列表 97
3.7 小結 100
3.8 關鍵術語 101
3.9 討論題 101
3.10 編程練習 102
第4章 遞歸 105
4.1 本章目標 105
4.2 何謂遞歸 105
4.2.1 計算一列數之和 105
4.2.2 遞歸三原則 107
4.2.3 將整數轉換成任意進制的字符串 108
4.3 棧幀:實現遞歸 110
4.4 遞歸可視化 111
4.5 複雜的遞歸問題 116
4.6 探索迷宮 118
4.7 動態規劃 123
4.8 小結 128
4.9 關鍵術語 129
4.10 討論題 129
4.11 編程練習 129
第5章 搜索和排序 131
5.1 本章目標 131
5.2 搜索 131
5.2.1 順序搜索 131
5.2.2 二分搜索 134
5.2.3 散列 136
5.3 排序 145
5.3.1 冒泡排序 145
5.3.2 選擇排序 147
5.3.3 插入排序 149
5.3.4 希爾排序 151
5.3.5 歸併排序 153
5.3.6 快速排序 156
5.4 小結 159
5.5 關鍵術語 160
5.6 討論題 160
5.7 編程練習 161
第6章 樹 163
6.1 本章目標 163
6.2 示例 163
6.3 術語及定義 166
6.4 實現 168
6.4.1 列表之列表 168
6.4.2 節點與引用 171
6.5 二叉樹的應用 173
6.5.1 解析樹 173
6.5.2 樹的遍歷 179
6.6 利用二叉堆實現優先級隊列 182
6.6.1 二叉堆的操作 182
6.6.2 二叉堆的實現 183
6.7 二叉搜索樹 189
6.7.1 搜索樹的操作 190
6.7.2 搜索樹的實現 190
6.7.3 搜索樹的分析 201
6.8 平衡二叉搜索樹 202
6.8.1 AVL樹的性能 203
6.8.2 AVL樹的實現 204
6.8.3 映射實現總結 210
6.9 小結 211
6.10 關鍵術語 211
6.11 討論題 211
6.12 編程練習 213
第7章 圖及其算法 214
7.1 本章目標 214
7.2 術語及定義 215
7.3 圖的抽象數據類型 216
7.3.1 鄰接矩陣 216
7.3.2 鄰接表 217
7.3.3 實現 218
7.4 寬度優先搜索 220
7.4.1 詞梯問題 220
7.4.2 構建詞梯圖 221
7.4.3 實現寬度優先搜索 223
7.4.4 分析寬度優先搜索 226
7.5 深度優先搜索 226
7.5.1 騎士周遊問題 226
7.5.2 構建騎士周遊圖 227
7.5.3 實現騎士周遊 229
7.5.4 分析騎士周遊 231
7.5.5 通用深度優先搜索 233
7.5.6 分析深度優先搜索 236
7.6 拓撲排序 236
7.7 強連通單元 238
7.8 最短路徑問題 241
7.8.1 Dijkstra算法 243
7.8.2 分析Dijkstra算法 245
7.8.3 Prim算法 245
7.9 小結 248
7.10 關鍵術語 249
7.11 討論題 249
7.12 編程練習 250
第8章 附加內容 251
8.1 本章目標 251
8.2 複習Python列表 251
8.3 複習遞歸 256
8.3.1 同餘定理 257
8.3.2 冪剩餘 257
8.3.3 最大公因數與逆元 258
8.3.4 RSA算法 261
8.4 複習字典:跳錶 264
8.4.1 映射抽象數據類型 265
8.4.2 用Python實現字典 265
8.5 複習樹:量化圖片 274
8.5.1 數字圖像概述 274
8.5.2 量化圖片 275
8.5.3 使用八叉樹改進量化算法 277
8.6 複習圖:模式匹配 284
8.6.1 生物學字符串 285
8.6.2 簡單比較 285
8.6.3 使用圖:DFA 287
8.6.4 使用圖:KMP 288
8.7 小結 291
8.8 關鍵術語 291
8.9 討論題 291
8.10 編程練習 292
附錄A Python圖形包 293
附錄B Python資源 294
參考資料295

《Python數據分析與挖掘實戰(第2版)》

本書是Python數據分析與挖掘領域的公認的事實標準,第1版銷售超過10萬冊,銷售勢頭依然強勁,被國內100餘所高等院校採用為教材,同時也被廣大數據科學工作者奉為經典。 作者在大數據挖掘與分析等領域有10餘年的工程實踐、教學和創辦企業的經驗,不僅掌握行業的新技術和實踐方法,而且洞悉學生和老師的需求與...

查看詳情 →

《Python神經網絡編程》

本書首先從簡單的思路著手,詳細介紹了理解神經網絡如何工作所必須的基礎知識。 第一部分介紹基本的思路,包括神經網絡底層的數學知識,第二部分是實踐,介紹了學習Python編程的流行和輕鬆的方法,從而逐漸使用該語言構建神經網絡,以能夠識別人類手寫的字母,特別是讓其像專家所開發的網絡那樣地工作。第三部分是擴...

查看詳情 →

《強化學習(第2版)》

《強化學習(第2版)》作為強化學習思想的深度解剖之作,被業內公認為是一本強化學習基礎理論的經典著作。它從強化學習的基本思想出發,深入淺出又嚴謹細緻地介紹了馬爾可夫決策過程、蒙特卡洛方法、時序差分方法、同軌離軌策略等強化學習的基本概念和方法,並以大量的實例幫助讀者理解強化學習的問題建模過程以及核心的算...

查看詳情 →

《無處不在的算法》

本書以簡單易懂的寫作風格,通過解決現實世界常見的問題來介紹各種算法技術,揭示了算法的設計與分析思想。全書共有41章,分為四大部分,圖文並茂,把各種算法的核心思想講得淺顯易懂。本書可作為高等院校算法相關課程的本科生教材,也可作為研究人員、專業技術人員的常備參考書。

查看詳情 →