《演算法競賽入門經典——訓練指南》
基本資料
作者: 劉汝佳 陳鋒 [作譯者介紹]
叢書名: 演算法藝術與資訊學競賽
出版社:清華大學出版社
ISBN:9787302291077
上架時間:2012-10-16
出版日期:2012 年10月
開本:16開
頁碼:1
版次:1-1
所屬分類: 電腦 > 電腦科學理論與基礎知識 > 計算理論 > 演算法
更多關於 》》》《演算法競賽入門經典——訓練指南》
內容簡介
書籍
電腦書籍
《演算法競賽入門經典——訓練指南》是《演算法競賽入門經典》的重要補充,旨在補充原書中沒有涉及或者講解得不夠詳細的內容,從而構建一個較完整的知識體系,並且用大量有針對性的題目,讓抽象複雜的演算法和數學具體化、實用化。
《演算法競賽入門經典——訓練指南》共6章,分別為演算法設計基礎、數學基礎、實用資料結構、幾何問題、圖論演算法與模型和更多演算法專題,全書通過近200道例題深入淺出地介紹了上述領域的各個知識點、經典思維方式以及程式實現的常見方法和技巧,並在章末和附錄中給出了豐富的分類習題,供讀者查漏補缺和強化學習效果。
《演算法競賽入門經典——訓練指南》題目多選自近年來acm/icpc地區賽和總決賽真題,內容全面,資訊量大,覆蓋了常見演算法競賽中的大多數細分知識點。書中還給出了所有重要的經典演算法的完整程式,以及重要例題的核心代碼,既適合選手自學,也方便教練組織學習和訓練。
目錄
《演算法競賽入門經典——訓練指南》
第1章 演算法設計基礎 1
1.1 思維的體操 1
1.2 問題求解常見策略 15
1.3 高效演算法設計舉例 39
1.4 動態規劃專題 60
1.5 小結與習題 77
第2章 數學基礎 103
2.1 基本計數方法 103
2.2 遞推關係 109
2.3 數論 119
2.3.1 基本概念 119
2.3.2 模方程 126
2.4 組合遊戲 132
2.5 機率與數學期望 139
2.6 置換及其應用 144
2.7 矩陣和線性方程組 151
2.8 數值方法簡介 163
2.9 小結與習題 170
第3章 實用資料結構 186
3.1 基礎資料結構回顧 186
3.1.1 抽象資料類型(adt) 186
3.1.2 優先隊列 188
3.1.3 並查集 191
3.2 區間資訊的維護與查詢 194
3.2.1 二叉索引樹(樹狀數組) 194
3.2.2 rmq問題 197
3.2.3 線段樹(1):點修改 199
3.2.4 線段樹(2):區間修改 202
3.3 字串(1) 208
3.3.1 trie 208
3.3.2 kmp演算法 211
3.3.3 aho-corasick自動機 214
3.4 字串(2) 219
3.4.1 尾碼數組 219
3.4.2 最長公用首碼(lcp) 222
3.4.3 基於雜湊值的lcp演算法 224
3.5 排序二叉樹 227
3.5.1 基本概念 227
3.5.2 用treap實現名次樹 230
3.5.3 用伸展樹實現可分裂與合并的序列 239
3.6 小結與習題 244
第4章 幾何問題 254
4.1 二維幾何基礎 254
4.1.1 基本運算 255
4.1.2 點和直線 256
4.1.3 多邊形 258
4.1.4 例題選講 259
4.1.5 二維幾何小結 263
4.2 與圓和球有關的計算問題 264
4.2.1 圓的相關計算 264
4.2.2 球面相關問題 269
4.3 二維幾何常用演算法 270
4.3.1 點在多邊形內判定 270
4.3.2 凸包 271
4.3.3 半平面交 276
4.3.4 平面區域 282
4.4 三維幾何基礎 286
4.4.1 三維點積 287
4.4.2 三維叉積 288
4.4.3 三維凸包 290
4.4.4 例題選講 292
4.4.5 三維幾何小結 295
4.5 小結與習題 296
第5章 圖論演算法與模型 307
5.1 基礎題目選講 307
5.2 深度優先遍曆 310
5.2.1 無向圖的割頂和橋 312
5.2.2 無向圖的雙連通分量 314
5.2.3 有向圖的強連通分量 319
5.2.4 2-sat問題 323
5.3 最短路問題 327
5.3.1 再談dijkstra演算法 327
5.3.2 再談bellman-ford演算法 332
5.3.3 例題選講 335
5.4 產生樹相關問題 343
5.5 二分圖匹配 347
5.5.1 二分圖最大匹配 347
5.5.2 二分圖最佳完美匹配 348
5.5.3 穩定婚姻問題 352
5.5.4 常見模型 355
5.6 網路流問題 357
5.6.1 最短增廣路演算法 358
5.6.2 最小費用最大流演算法 363
5.6.3 建模與模型變換 365
5.6.4 例題選講 368
5.7 小結與習題 372
第6章 更多演算法專題 383
6.1 輪廓線動態規劃 383
6.2 嵌套和分塊資料結構 389
6.3 暴力法專題 395
6.3.1 路徑尋找問題 395
6.3.2 對抗搜尋 400
6.3.3 精確覆蓋問題和dlx演算法 406
6.4 幾何專題 412
6.4.1 仿射變換與矩陣 412
6.4.2 離散化和掃描法 414
6.4.3 運動規劃 423
6.5 數學專題 425
6.5.1 小專題集錦 425
6.5.2 快速傅裡葉變換(fft) 428
6.5.3 線性規劃 430
6.6 淺談代碼設計與靜態查錯 431
6.6.1 簡單的bash 431
6.6.2 《仙劍奇俠傳四》之最後的戰役 440
6.7 小結與習題 447
附錄a 訓練指南:使用uva/la題庫 481
a.1 uva線上比賽推薦 481
a.2 la套題(acm/icpc真題)推薦 482
a.3 uva線上比賽單題推薦 483
附錄b java、c#和python語言簡介 505
b.1 java 505
b.2 c# 507
b.3 python 509
本圖書資訊來源:中國互動出版網