明解Python算法與數據結構檢視原始碼討論檢視歷史
《明解Python算法與數據結構》,[日] 柴田望洋 著,張彌 譯,出版社: 人民郵電出版社。
人民郵電出版社,1953年10月成立,隸屬於中國工信出版傳媒集團,是工業和信息化部主管的大型專業出版社[1]。建社以來,人民郵電出版社圍繞「立足工信事業,面向現代社會,傳播科學知識,引領美好生活」的出版宗旨,已發展成為集圖書、期刊、音像電子及數字出版於一體的綜合性出版大社[2]。
內容簡介
本書圖文並茂、示例豐富,結合136段代碼和213幅圖表,直觀易懂地介紹了算法與數據結構的基礎知識,包括數組、查找、棧和隊列、遞歸算法、排序、字符串查找、線性列表、樹結構和二分查找樹等。本書並非單純地對算法與數據結構進行介紹,而是致力於讓讀者掌握編寫實用程序的技術。為此,本書提供的示例代碼*是實際可運行的程序,理解這些示例程序之後,相信讀者的Python編程能力也會有很大的提升。本書各章節末設置有練習題,並在書末給出了答案,據此讀者可檢測自己對知識的掌握情況,加深理解。
目錄
第 1章 基本算法 1
1-1 算法 2
求三個值中的*值 2
條件判斷和分支 9
流程圖符號 11
1-2 循環 14
求1和n之間所有整數之和 14
二值排序和二值交換 16
循環過程中的條件判斷(其一) 18
循環過程中的條件判斷(其二) 20
循環過程中的條件判斷(其三) 21
讀取正數 23
邊長和面積均為整數的矩形 25
跳過循環和遍歷多個範圍 27
結構化程序設計 29
多重循環 29
章末問題 35
第 2章 數據結構和數組 37
2-1 數據結構和數組 38
數組的*要性 38
列表和元組 39
通過索引表達式訪問 41
通過切片表達式訪問 42
數據結構 45
2-2 數組 48
求數組中元素的*值 48
求數組中元素*值的函數的實現 49
注釋和類型提示 50
構建可復用模塊 51
模塊測試 51
反轉數組中元素的順序 55
進制轉換 58
質數枚舉 64
章末問題 72
第3章 查找 75
3-1 查找算法 76
查找和關鍵字 76
數組查找 76
3-2 線性查找 78
線性查找 78
哨兵法 82
3-3 二分查找 84
二分查找 84
複雜度 88
3-4 散列法 92
對有序數組進行操作 92
散列法 92
散列衝突 93
拉鏈法 93
開放地址法 102
章末問題 109
第4章 棧和隊列 113
4-1 棧 114
棧 114
棧的實現 114
4-2 隊列 125
隊列 125
使用數組實現簡單隊列 125
使用環形緩衝區實現隊列 126
章末問題 138
第5章 遞歸算法 141
5-1 遞歸的基礎知識 142
遞歸 142
階乘值 142
輾轉相除法 145
5-2 遞歸算法的分析 147
遞歸算法的分析 147
遞歸算法的非遞歸寫法 149
5-3 漢諾塔問題 152
漢諾塔問題 152
5-4 八皇后問題 156
八皇后問題 156
擺放皇后 156
分支操作 162
定界操作和分支定界法 163
解決八皇后問題的程序 165
章末問題 167
第 6章 排序 169
6-1 排序 170
排序 170
6-2 直接交換排序 172
直接交換排序(冒泡排序) 172
雞尾酒排序(雙向冒泡排序) 179
6-3 直接選擇排序 182
直接選擇排序 182
6-4 直接插入排序 184
直接插入排序 184
6-5 希爾排序 188
直接插入排序的特點 188
希爾排序 188
6-6 快速排序 194
快速排序簡介 194
分組過程 195
快速排序 197
非遞歸快速排序 200
樞軸的選擇 205
時間複雜度 207
6-7 歸併排序 210
有序數組的歸併 210
歸併排序 212
6-8 堆排序 216
堆 216
堆排序 217
刪除根節點後重建堆 217
堆排序的擴展 219
數組堆化 221
堆排序的時間複雜度 224
6-9 計數排序 225
計數排序 225
章末問題 231
第 7章 字符串查找 235
7-1 暴力匹配算法 236
字符串查找 236
暴力匹配算法(直接匹配算法) 236
7-2 KMP算法 241
KMP 算法 241
7-3 Boyer-Moore算法 245
Boyer-Moore 算法 245
章末問題 249
第 8章 線性表 251
8-1 什麼是線性表 252
線性表 252
線性表的實現 252
8-2 單鍊表 254
通過指針實現單鍊表 254
在程序中使用單鍊表 266
8-3 通過游標實現單鍊表 269
通過游標實現單鍊表 269
數組中的空元素 273
自由列表 274
在程序中使用數組游標版的單鍊表 276
8-4 雙向循環鍊表 279
循環鍊表 279
雙鍊表 279
雙向循環鍊表 280
雙向循環鍊表的實現 280
在程序中使用雙向循環鍊表 291
章末問題 294
第 9章 樹結構和二叉查找樹 297
9-1 樹結構 298
樹 298
有序樹和無序樹 299
有序樹的查找 299
9-2 二叉樹和二叉查找樹 302
二叉樹 302
完全二叉樹 302
二叉查找樹 303
二叉查找樹的實現 304
在程序中使用二叉查找樹 314
章末問題 317
章末問題答案 322
參考文獻 324
致謝 325
參考文獻
- ↑ 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
- ↑ 人民郵電出版社簡介,人民郵電出版社