目錄
第1章 算法與數學的密切關系
1.1 什么是算法 2
1.2 為什么算法離不開數學 5
1.3 本書的構成及學習方法 7
1.4 本書涉及的算法 11
1.5 本書涉及的數學知識和數學思考 12
第2章 算法中的數學基礎知識
2.1 數字的分類、代數表達式、二進制 14
節(jié)末習題 22
2.2 基本運算和符號 23
節(jié)末習題 30
2.3 各種函數 31
節(jié)末習題 39
2.4 估算計算次數(枚舉和二分查找) 41
節(jié)末習題 53
2.5 其他基本數學知識 55
節(jié)末習題 63
專欄1 關于算法競賽 64
專欄2 組合型枚舉 67
總結 70
第3章 基本算法
3.1 素數判定法 72
節(jié)末習題 76
3.2 歐幾里得算法 77
節(jié)末習題 83
3.3 組合數與算法 84
節(jié)末習題 90
3.4 概率、期望值與算法 92
節(jié)末習題 97
3.5 蒙特卡羅方法(統(tǒng)計學思維) 99
節(jié)末習題 105
3.6 排序和遞歸思想 106
節(jié)末習題 119
3.7 動態(tài)規(guī)劃法(利用遞推公式) 121
節(jié)末習題 133
專欄 3 數組的二分查找 135
總結 137
第4章 高級算法專欄
4.1 用計算機解決圖形問題(計算幾何學) 140
節(jié)末習題 146
4.2 差分與前綴和 148
節(jié)末習題 152
4.3 牛頓迭代法(嘗試數值計算) 154
節(jié)末習題 161
4.4 埃拉托斯特尼篩法 162
節(jié)末習題 169
4.5 圖論算法 171
節(jié)末習題 187
4.6 高效的取模運算 189
節(jié)末習題 200
4.7 矩陣的冪(斐波那契數列的快速計算) 201
節(jié)末習題 206
專欄 4 三角函數 208
專欄 5 梯度下降法 210
總結 212
第5章 為解決問題而進行的數學分析
5.1 為什么數學分析很重要 214
5.2 考慮規(guī)律性 217
節(jié)末習題 221
5.3 著眼于奇偶性 222
節(jié)末習題 225
5.4 巧妙地處理集合 226
節(jié)末習題 231
5.5 考慮極限情況 232
節(jié)末習題 235
5.6 分治法 236
節(jié)末習題 239
5.7 計數貢獻法 240
節(jié)末習題 248
5.8 考慮上限 249
節(jié)末習題 253
5.9 只考慮下一步(貪心算法) 254
節(jié)末習題 258
5.10 其他數學思考方法 259
節(jié)末習題 269
專欄 6A*算法 271
總結 272
綜合測試題 273
**圖書 281
參考文獻 282
跋 283