ACM/ICPC算法基礎訓練教程

ACM/ICPC算法基礎訓練教程

《ACM/ICPC算法基礎訓練教程》是2015年12月清華大學出版社出版的圖書,作者是喻梅、於瑞國。

基本介紹

  • 書名:ACM/ICPC算法基礎訓練教程
  • 作者:喻梅、於瑞國
  • ISBN:9787302414452
  • 定價:49元
  • 出版社:清華大學出版社
  • 出版時間:2015年12月
內容簡介,圖書目錄,

內容簡介

本書介紹ACM/ICPC的算法基礎知識,主要內容包括基礎算法、數據結構、搜尋算法、圖論基礎、網路流(最大流、費用流、上下界網路流)、動態規划算法、數學基礎、字元串算法以及計算幾何基礎。每一部分內容先介紹基本概念和基礎理論,再通過例題講解算法。書中所有例題均給出源程式代碼及解題思路,便於讀者學習和參考。
本書適用於剛剛步入ACM/ICPC的初學者,書中算法由淺入深,循序漸進,有利於初學者的學習。本書適合作為計算機及相關專業程式設計、數據結構和算法設計與分析等課程的教材,也可以作為計算機編程愛好者的參考書。

圖書目錄

第1章基礎算法/1
1.1模擬題/1
1.1.1基本概念/1
1.1.2例題講解/1
1.1.3習題推薦/9
1.2枚舉算法/10
1.2.1基本概念/10
1.2.2例題講解/10
1.2.3習題推薦/13
1.3遞歸算法/13
1.3.1基本概念/13
1.3.2例題講解/14
1.3.3習題推薦/16
1.4貪心算法/16
1.4.1基本概念/16
1.4.2例題講解/17
1.4.3習題推薦/23
1.5分治算法/24
1.5.1基本概念/24
1.5.2例題講解/24
1.5.3習題推薦/29
1.6二分/三分算法/30
1.6.1基本概念/30
1.6.2例題講解/30
1.6.3習題推薦/33第2章數據結構/34
2.1線性表/34
2.1.1基本概念/34
2.1.2基本特徵/34
2.2佇列/35
2.2.1基本概念/35
2.2.2順序佇列的基本操作/35
2.2.3循環佇列/36
2.2.4例題講解/37
2.2.5習題推薦/40
2.3棧/40
2.3.1基本概念/40
2.3.2基本操作/40
2.3.3棧的實現/41
2.3.4棧的套用/42
2.3.5例題講解/43
2.3.6習題推薦/44
2.4堆/45
2.4.1基本概念/45
2.4.2基本操作/45
2.4.3時間及空間複雜度/47
2.4.4例題講解/47
2.4.5習題推薦/50
2.5Hash/51
2.5.1基本概念/51
2.5.2哈希函式的構造方法/51
2.5.3處理碰撞的方法/52
2.5.4例題講解/52
2.5.5習題推薦/54
2.6並查集/54
2.6.1基本概念/54
2.6.2基本操作/54
2.6.3時間及空間複雜度/55
2.6.4例題講解/55
2.6.5習題推薦/57
2.7樹狀數組/57
2.7.1基本概念/57
2.7.2基本操作/58
2.7.3時間及空間複雜度/59
2.7.4例題講解/59
2.7.5習題推薦/63
2.8線段樹/63
2.8.1基本概念/63
2.8.2線段樹中的“懶操作”/64
2.8.3線段樹的基本操作/64
2.8.4例題講解/66
2.8.5習題推薦/69
2.9最近公共祖先/區間最小值/70
2.9.1基本概念/70
2.9.2離線算法Tarjan/70
2.9.3線上算法/71
2.9.4RMQ/72
2.9.5LAC+RMQ線上算法的具體實現/73
2.9.6例題講解/74
2.9.7習題推薦/77
2.10伸展樹/77
2.10.1基本概念/77
2.10.2伸展樹的基本操作/77
2.10.3伸展樹對區間的操作/81
2.10.4例題講解/83
2.10.5習題推薦/92
2.11KDimensional樹/92
2.11.1基本概念/92
2.11.2基本思想/92
2.11.3KDTree構建算法/93
2.11.4例題講解/95
2.11.5習題推薦/98第3章搜尋算法/99
3.1寬度優先搜尋/99
3.1.1基本概念/99
3.1.2算法實現/100
3.1.3例題講解/101
3.1.4習題推薦/106
3.2深度優先搜尋/107
3.2.1基本概念/107
3.2.2算法實現/107
3.2.3例題講解/108
3.2.4習題推薦/114
3.3搜尋與剪枝/114
3.3.1基本概念/114
3.3.2算法實現/114
3.3.3例題講解/115
3.3.4習題推薦/117
3.4A算法/117
3.4.1基本概念/117
3.4.2算法實現/117
3.4.3例題講解/118
3.4.4習題推薦/125
3.5疊代加深搜尋/125
3.5.1基本概念/125
3.5.2算法實現/125
3.5.3例題講解/126
3.5.4習題推薦/132
3.6雙向寬度優先搜尋/132
3.6.1基本概念/132
3.6.2算法實現/132
3.6.3例題講解/133
3.6.4習題推薦/140
3.7舞蹈鏈/140
3.7.1基本概念/140
3.7.2算法實現/140
3.7.3例題講解/141
3.7.4習題推薦/146第4章圖論基礎/147
4.1最小生成樹/147
4.1.1Prim算法/147
4.1.2Kruskal算法/150
4.2最短路/152
4.2.1Dijkstra算法/152
4.2.2Floyd算法/155
4.2.3BellmanFord算法及SPFA算法/157
4.3割點/割邊/162
4.3.1基本概念/162
4.3.2算法實現/162
4.3.3例題講解/163
4.3.4習題推薦/165
4.4二分圖匹配/166
4.4.1基本概念/166
4.4.2最大匹配/166
4.4.3最大權匹配/167
4.4.4習題推薦/167
4.5拓撲排序/168
4.5.1基本概念/168
4.5.2算法實現/168
4.5.3習題推薦/168
4.6歐拉路和歐拉迴路/168
4.6.1基本概念/168
4.6.2算法實現/169
4.6.3例題講解/169
4.6.4習題推薦/172
4.7強連通分量和2SAT問題/172
4.7.1基本概念/172
4.7.2算法實現/173
4.7.32SAT問題/174
4.7.4例題講解/174
4.7.5習題推薦/181第5章網路流/182
5.1最大流/182
5.1.1網路流/182
5.1.2殘餘網路與增廣路/183
5.1.3FordFulkerson算法/184
5.1.4最小割最大流定理/185
5.1.5Dinic算法/186
5.1.6例題講解/191
5.1.7習題推薦/200
5.2費用流/200
5.2.2最小費用流算法/201
5.2.3實現代碼/201
5.2.4例題講解/204
5.2.5習題推薦/209
5.3上下界網路流/209第6章動態規划算法/211
6.1背包問題/211
6.1.1基本概念/211
6.1.201背包問題/211
6.1.3完全背包問題/213
6.1.4多重背包問題/216
6.1.5習題推薦/218
6.2狀態壓縮/218
6.2.1基本概念/218
6.2.2經典旅行商問題/218
6.2.3插頭dp/221
6.2.4習題推薦/228
6.3動態規劃最佳化/228
6.3.1基本概念/228
6.3.2數據結構最佳化/228
6.3.3斜率最佳化/235
6.3.4四邊形不等式最佳化/238
6.3.5習題推薦/240
6.4常見動態規劃題目類型/241
6.4.1基本概念/241
6.4.2樹形dp/241
6.4.3RMQ問題/243
6.4.4有向圖最短路/246
6.4.5最長上升子序列/250
6.4.6習題推薦/253第7章數學基礎/254
7.1組合遊戲/254
7.1.1基本概念/254
7.1.2Nim遊戲與Nim和/255
7.1.3SG函式與SG定理/257
7.1.4例題講解/258
7.1.5習題推薦/260
7.2數論/261
7.2.1基本概念/261
7.2.2線性同餘方程組/268
7.2.3原根與離散對數/270
7.2.4習題推薦/275
7.3組合數學/276
7.3.1基本計數問題/276
7.3.2鴿巢原理/276
7.3.3容斥原理/277
7.3.4特殊計數數列/277
7.3.5Pólya計數/279
7.3.6習題推薦/281
7.4快速傅立葉變換/281
7.4.1多項式的表示/281
7.4.2DFT與FFT算法/282
7.4.3例題講解/285
7.5進一步學習的建議/286第8章字元串算法/288
8.1Hash算法/288
8.1.1基本概念/288
8.1.2算法實現/289
8.1.3例題講解/290
8.1.4習題推薦/292
8.2最小循環表示/292
8.2.1基本概念/292
8.2.2算法實現/292
8.2.3例題講解/293
8.2.4習題推薦/295
8.3Manacher算法/295
8.3.1基本概念/295
8.3.2算法實現/295
8.3.3例題講解/296
8.3.4習題推薦/297
8.4KMP算法/297
8.4.1基本概念/297
8.4.2算法實現/298
8.4.3next數組的性質/299
8.4.4例題講解/299
8.4.5習題推薦/307
8.5擴展KMP算法/308
8.5.1基本概念/308
8.5.2算法實現/308
8.5.3例題講解/309
8.5.4習題推薦/315
8.6字典樹/316
8.6.1基本概念/316
8.6.2算法實現/316
8.6.3例題講解/317
8.6.4習題推薦/322
8.7.1基本概念/322
8.7.2算法實現/322
8.7.3AC自動機與動態規划算法的結合/324
8.7.4例題講解/324
8.7.5習題推薦/335
8.8.1基本概念/335
8.8.2算法實現/335
8.8.3後綴數組的使用技巧/339
8.8.4例題講解/339
8.8.5習題推薦/343
8.9後綴自動機/343
8.9.1基本概念/343
8.9.2算法實現/344
8.9.3後綴自動機與動態規劃的結合/346
8.9.4例題講解/346
8.9.5習題推薦/359第9章計算幾何基礎/360
9.1數學基礎知識/360
9.2向量的基本運算/361
9.2.1基本概念/361
9.2.2例題講解/363
9.2.3習題推薦/367
9.3幾何元素間的位置關係/368
9.3.1基本概念/368
9.3.2例題講解/372
9.3.3習題推薦/375
9.4凸包/376
9.4.1基本概念/376
9.4.2例題講解/377
9.4.3習題推薦/379
9.5半平面交/379
9.5.1基本概念/379
9.5.2算法實現/380
9.5.3例題講解/382
9.5.4習題推薦/388
9.6旋轉卡殼算法/388
9.6.1基本概念/388
9.6.2例題講解/389
9.7三維幾何/397
9.7.1基本概念/397
9.7.2習題推薦/399
9.8三維凸包/399
9.8.1基本概念/399
9.8.2例題講解/400
9.8.3習題推薦/403
參考文獻/404

相關詞條

熱門詞條

聯絡我們