python算法书推荐-你也能看得懂的Python算法书
第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和break23
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 問題求解178
3.2.2 解法1的最終代碼80
3.2.3 問題求解281
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
總結
以上是生活随笔為你收集整理的python算法书推荐-你也能看得懂的Python算法书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 带通 带阻滤波器 幅频响应_二阶有源带通
- 下一篇: 信捷plc485通信上位机_基于Snap