喻梅、于瑞國編寫的《ACM\ICPC算法基礎訓練教 程(計算機系列教材普通高等教育十一五***規(guī)劃 教材)》介紹ACM/ICPC的算法基礎知識,主要內容包 括基礎算法、數(shù)據(jù)結構、搜索算法、圖論基礎、網(wǎng)絡 流(*大流、費用流、上下界網(wǎng)絡流)、動態(tài)規(guī)劃算 法、數(shù)學基礎、字符串算法以及計算幾何基礎。每一 部分內容先介紹基本概念和基礎理論,再通過例題講 解算法。書中所有例題均給出源程序代碼及解題思路 ,便于讀者學習和參考。本書適用于剛剛步入 ACM/ICPC的初學者,書中算法由淺入深,循序漸進, 有利于初學者的學習。本書適合作為計算機及相關專 業(yè)程序設計、數(shù)據(jù)結構和算法設計與分析等課程的教 材,也可以作為計算機編程愛好者的參考書。
第1章 基礎算法
1.1 模擬題
1.1.1 基本概念
1.1.2 例題講解
1.1.3 習題推薦
1.2 枚舉算法
1.2.1 基本概念
1.2.2 例題講解
1.2.3 習題推薦
1.3 遞歸算法
1.3.1 基本概念
1.3.2 例題講解
1.3.3 習題推薦
1.4 貪心算法
1.4.1 基本概念
1.4.2 例題講解
1.4.3 習題推薦
1.5 分治算法
1.5.1 基本概念
1.5.2 例題講解
1.5.3 習題推薦
1.6 二分/三分算法
1.6.1 基本概念
1.6.2 例題講解
1.6.3 習題推薦
第2章 數(shù)據(jù)結構
2.1 線性表
2.1.1 基本概念
2.1.2 基本特征
2.2 隊列
2.2.1 基本概念
2.2.2 順序隊列的基本操作
2.2.3 循環(huán)隊列
2.2.4 例題講解
2.2.5 習題推薦
2.3 棧
2.3.1 基本概念
2.3.2 基本操作
2.3.3 棧的實現(xiàn)
2.3.4 棧的應用
2.3.5 例題講解
2.3.6 習題推薦
2.4 堆
2.4.1 基本概念
2.4.2 基本操作
2.4.3 時間及空間復雜度
2.4.4 例題講解
2.4.5 習題推薦
2.
2.5.1 基本概念
2.5.2 哈希函數(shù)的構造方法
2.5.3 處理碰撞的方法
2.5.4 例題講解
2.5.5 習題推薦
2.6 并查集
2.6.1 基本概念
2.6.2 基本操作
2.6.3 時間及空間復雜度
2.6.4 例題講解
2.6.5 習題推薦
2.7 樹狀數(shù)組
2.7.1 基本概念
2.7.2 基本操作
2.7.3 時間及空間復雜度
2.7.4 例題講解
2.7.5 習題推薦
2.8 線段樹
2.8.1 基本概念
2.8.2 線段樹中的“懶操作”
2.8.3 線段樹的基本操作
2.8.4 例題講解
2.8.5 習題推薦
2.9 最近公共祖先/區(qū)間最小值
2.9.1 基本概念
2.9.2 離線算法
2.9.3 在線算法
2.9
2.9.5 LAC+RMQ在線算法的具體實現(xiàn)
2.9.6 例題講解
2.9.7 習題推薦
2.1 0伸展樹
2.1 0.1 基本概念
2.1 0.2 伸展樹的基本操作
2.1 0.3 伸展樹對區(qū)間的操作
2.1 0.4 例題講解
2.1 0.5 習題推薦
2.1 1KDimensional樹
2.1 1.1 基本概念
2.1 1.2 基本思想
2.1 1.3 KDTree構建算法
2.1 1.4 例題講解
2.1 1.5 習題推薦
第3章 搜索算法
3.1 寬度優(yōu)先搜索
3.1.1 基本概念
3.1.2 算法實現(xiàn)
3.1.3 例題講解
3.1.4 習題推薦
3.2 深度優(yōu)先搜索
3.2.1 基本概念
3.2.2 算法實現(xiàn)
3.2.3 例題講解
3.2.4 習題推薦
3.3 搜索與剪枝
3.3.1 基本概念
3.3.2 算法實現(xiàn)
3.3.3 例題講解
3.3.4 習題推薦
3.4 A算法
3.4.1 基本概念
3.4.2 算法實現(xiàn)
3.4.3 例題講解
3.4.4 習題推薦
3.5 迭代加深搜索
3.5.1 基本概念
3.5.2 算法實現(xiàn)
3.5.3 例題講解
3.5.4 習題推薦
3.6 雙向寬度優(yōu)先搜索
3.6.1 基本概念
3.6.2 算法實現(xiàn)
3.6.3 例題講解
3.6.4 習題推薦
3.7 舞蹈鏈
3.7.1 基本概念
3.7.2 算法實現(xiàn)
3.7.3 例題講解
3.7.4 習題推薦
第4章 圖論基礎
4.1 最小生成樹
4.1.1 Prim算法
4.1.2 Kruskal算法
4.2 最短路
4.2.1 Dijkstra算法
4.2.2 Floyd算法
4.2.3 BellmanFord算法及SPFA算法
4.3 割點/割邊
4.3.1 基本概念
4.3.2 算法實現(xiàn)
4.3.3 例題講解
4.3.4 習題推薦
4.4 二分圖匹配
4.4.1 基本概念
4.4.2 最大匹配
4.4.3 最大權匹配
4.4.4 習題推薦
4.5 拓撲排序
4.5.1 基本概念
4.5.2 算法實現(xiàn)
4.5.3 習題推薦
4.6 歐拉路和歐拉回路
4.6.1 基本概念
4.6.2 算法實現(xiàn)
4.6.3 例題講解
4.6.4 習題推薦
4.7 強連通分量和2SAT問題
4.7.1 基本概念
4.7.2 算法實現(xiàn)
4.7.3 2SAT問題
4.7.4 例題講解
4.7.5 習題推薦
第5章 網(wǎng)絡流
5.1 最大流
5.1.1 網(wǎng)絡流
5.1.2 殘余網(wǎng)絡與增廣路
5.1.3 FordFulkerson算法
5.1.4 最小割最大流定理
5.1.5 Dinic算法
5.1.6 例題講解
5.1.7 習題推薦
5.2 費用流
5.2.1 最小費用流問題
5.2.2 最小費用流算法
5.2.3 實現(xiàn)代碼
5.2.4 例題講解
5.2.5 習題推薦
5.3 上下界網(wǎng)絡流
第6章 動態(tài)規(guī)劃算法
6.1 背包問題
6.1.1 基本概念
6.1.2 01背包問題
6.1.3 完全背包問題
6.1.4 多重背包問題
6.1.5 習題推薦
6.2 狀態(tài)壓縮
6.2.1 基本概念
6.2.2 經典旅行商問題
6.2.3 插頭
6.2.4 習題推薦
6.3 動態(tài)規(guī)劃優(yōu)化
6.3.1 基本概念
6.3.2 數(shù)據(jù)結構優(yōu)化
6.3.3 斜率優(yōu)化
6.3.4 四邊形不等式優(yōu)化
6.3.5 習題推薦
6.4 常見動態(tài)規(guī)劃題目類型
6.4.1 基本概念
6.4.2 樹形
6.4.3 RMQ問題
6.4.4 有向圖最短路
6.4.5 最長上升子序列
6.4.6 習題推薦
第7章 數(shù)學基礎
7.1 組合游戲
7.1.1 基本概念
7.1.2 Nim游戲與Nim和
7.1.3 SG函數(shù)與SG定理
7.1.4 例題講解
7.1.5 習題推薦
7.2 數(shù)論
7.2.1 基本概念
7.2.2 線性同余方程組
7.2.3 原根與離散對數(shù)
7.2.4 習題推薦
7.3 組合數(shù)學
7.3.1 基本計數(shù)問題
7.3.2 鴿巢原理
7.3.3 容斥原理
7.3.4 特殊計數(shù)數(shù)列
7.3.5 Pólya計數(shù)
7.3.6 習題推薦
7.4 快速傅里葉變換
7.4.1 多項式的表示
7.4.2 DFT與FFT算法
7.4.3 例題講解
7.5 進一步學習的建議
第8章 字符串算法
8.1 Hash算法
8.1.1 基本概念
8.1.2 算法實現(xiàn)
8.1.3 例題講解
8.1.4 習題推薦
8.2 最小循環(huán)表示
8.2.1 基本概念
8.2.2 算法實現(xiàn)
8.2.3 例題講解
8.2.4 習題推薦
8.3 Manacher算法
8.3.1 基本概念
8.3.2 算法實現(xiàn)
8.3.3 例題講解
8.3.4 習題推薦
8.4 KMP算法
8.4.1 基本概念
8.4.2 算法實現(xiàn)
8.4.3 next數(shù)組的性質
&