來寫書評啦|《你也能看得懂的Python算法書》

11月份剛剛上市的新書,我看着它從無到有,每個標點,每一張圖片,每個段落,都通過個人手出如今你們面前,但願你們多提意見和建議,感激涕零。html

本書特點:算法

很資深:凝聚4位做者10年編程經驗,帶你領悟算法的精髓編程

頗有趣:全書採用生動風趣的語言,讓算法再也不難學數組

很實戰:全書包括36個實例,9大類算法,頗有實戰價值函數

很圖解:對每種算法,都給出了圖解說明,保證一學就會編碼

書籍目錄:spa

第1章 編程基礎 1
1.1 變量 1
1.1.1 輸出和輸入 2
1.1.2 簡單變量類型 3
1.1.3 數學計算 6
1.1.4 位運算 7
1.1.5 使用字符串 11
1.2 三大結構 15
1.2.1 循序結構 15
1.2.2 分支結構 16
1.2.3 條件判斷 18
1.2.4 應用分支結構 20
1.2.5 循環結構 21
1.2.6 continue和break 23
1.2.7 應用循環結構 24
1.2.8 結構的嵌套 26
1.3 列表 27
1.3.1 定義列表 27
1.3.2 對元素進行操做 28
1.3.3 列表的順序 31
1.3.4 列表內置函數 33
1.3.5 截取和拼接列表 36
1.3.6 字符串、元組和列表 38
1.3.7 用循環遍歷列表 40
1.3.8 字典簡介 41
1.4 函數 43
1.4.1 定義子函數 43
1.4.2 主函數 44
1.4.3 調用函數 45
1.4.4 全局變量 47
1.4.5 函數的運用 48

第2章 雙指針問題 53
2.1 數組合並 53
2.1.1 合併有序數組 53
2.1.2 最終代碼 56
2.2 二分查找 56
2.2.1 什麼是二分查找 57
2.2.2 問題求解 58
2.2.3 最終代碼 60
2.3 鏈表 60
2.3.1 什麼是單鏈表 60
2.3.2 創建單鏈表 61
2.3.3 創建雙鏈表 63
2.3.4 雙向輸出雙鏈表 65
2.3.5 向單鏈表中添加元素 66
2.3.6 向雙鏈表中添加元素 69
2.3.7 刪除列表中的元素 71

第3章 哈希算法 75
3.1 什麼是哈希 75
3.2 兩個數的和 78
3.2.1 問題求解1 78
3.2.2 解法1的最終代碼 80
3.2.3 問題求解2 81
3.2.4 解法2的最終代碼 82
3.3 單詞模式匹配 82
3.3.1 問題求解 83
3.3.2 最終代碼 85
3.4 猜詞遊戲 85
3.4.1 問題求解 87
3.4.2 最終代碼 88
3.5 神奇的詞根 89
3.5.1 問題求解 90
3.5.2 最終代碼 92

第4章 深度優先遍歷 93
4.1 什麼是深度優先遍歷 93
4.2 二叉樹 95
4.2.1 二叉樹的類型 95
4.2.2 二叉樹的相關術語 96
4.2.3 二叉樹的節點代碼 97
4.2.4 二叉樹的遍歷順序 97
4.2.5 深度優先遍歷與廣度優先遍歷 97
4.3 怎麼抓住小偷 98
4.3.1 解題思路 98
4.3.2 從思路到代碼 102
4.4 二叉樹中的最大路徑和 102
4.4.1 解題思路 103
4.4.2 完整代碼 112
4.5 最大的島嶼 113
4.5.1 解題思路 113
4.5.2 完整代碼 116

第5章 廣度優先遍歷 118
5.1 什麼是廣度優先遍歷 118
5.2 選課的智慧 120
5.2.1 廣度優先遍歷 121
5.2.2 問題求解 122
5.2.3 最終代碼 124
5.3 尋找制高點 125
5.3.1 問題求解 126
5.3.2 集合 129
5.3.3 最終代碼 130
5.4 合法的括號 131
5.4.1 問題求解 131
5.4.2 最終代碼 135
5.5 樹的右側 136
5.5.1 問題求解 136
5.5.2 最終代碼 139

第6章 回溯算法 141
6.1 什麼是回溯 141
6.2 遍歷全部排序方式 142
6.2.1 問題求解 142
6.2.2 最終代碼 144
6.3 經典問題的組合 147
6.3.1 問題求解 147
6.3.2 最終代碼 149
6.4 查找單詞問題 151
6.4.1 問題求解 152
6.4.2 最終代碼 155
6.5 八皇后問題 157
6.5.1 問題求解 158
6.5.2 最終代碼 160
6.6 教你解數獨 164
6.6.1 問題求解 165
6.6.2 最終代碼 168

第7章 貪心算法 172
7.1 硬幣找零問題 173
7.1.1 問題描述 173
7.1.2 最終代碼 175
7.2 活動安排問題 175
7.2.1 問題描述 176
7.2.2 最終代碼 177
7.3 哈夫曼編碼 178
7.3.1 問題描述 178
7.3.2 哈夫曼樹 179
7.3.3 貪心選擇性質 181
7.3.4 最優子結構性質 182
7.3.5 最終代碼 183

第8章 動態規劃算法 185
8.1 爬樓梯問題 185
8.1.1 問題描述 186
8.1.2 最終代碼 188
8.2 礦工挖礦問題 189
8.2.1 問題描述 189
8.2.2 最終代碼 195
8.3 揹包問題 195
8.3.1 問題描述 195
8.3.2 問題實例 196
8.3.3 最終代碼 201
8.4 最長遞歸子序列問題 202
8.4.1 問題描述 202
8.4.2 改進算法 204
8.4.3 最終代碼 205

第9章 最短路徑問題 207
9.1 迪可斯特朗算法 207
9.1.1 術語釋義 208
9.1.2 問題示例:最短公交線路 208
9.1.3 圖與節點的定義 209
9.1.4 把圖用代碼「畫」出來 210
9.1.5 算法核心:兩個節點集合 210
9.1.6 算法核心:循環 210
9.1.7 輸出路線 211
9.1.8 經過示例理解算法 211
9.1.9 完整代碼展現 214
9.2 Floyd算法 216
9.2.1 算法核心:兩個矩陣 216
9.2.2 算法核心:經過中介點縮短距離 217
9.2.3 經過示例理解算法 218
9.2.4 完整代碼 222
9.3 A*算法 223
9.3.1 算法核心:迪可斯特朗算法 223
9.3.2 算法核心:預估函數 224
9.3.3 算法核心:選擇預估函數 226
9.3.4 A*算法的兄弟們 226

第10章 分治算法 227
10.1 什麼是分治 227
10.2 歸併排序 228
10.2.1 遞歸法與迭代法 228
10.2.2 遞歸法描述 229
10.2.3 迭代法描述 232
10.2.4 最終代碼 233
10.3 連續子列表的最大和 235
10.3.1 解題思路 235
10.3.2 最終代碼 237
10.4 幾何問題之凸包 238
10.4.1 問題求解 238
10.4.2 最終代碼 240
10.5 數學問題之多項式乘法 242
10.5.1 問題求解 242
10.5.2 最終代碼 245指針

瞭解更多,點擊連接查看htm

http://product.dangdang.com/25579993.htmlblog

相關文章
相關標籤/搜索