前言
第1章 本書的使用方法 1
第2章 C/C++快速入門 2
2.1 基本數據類型 2
2.2 順序結構 2
2.3 條件結構 2
2.4 循環結構 2
2.5 數 組 3
2.6 函 數 3
2.7 指 針 3
2.8 結構體(struct)的使用 3
2.9 補 充 3
2.10 黑盒測試 4
第3章 入門篇(1)——入門模擬 5
3.1 簡單模擬 5
3.2 查找元素 29
3.3 圖形輸齣 43
3.4 日期處理 50
3.5 進製轉換 50
3.6 字符串處理 58
第4章 入門篇(2)——算法初步 87
4.1 排 序 87
4.2 散 列 128
4.3 遞 歸 148
4.4 貪 心 148
4.5 二 分 165
4.6 two pointers 176
4.7 其他高效技巧與算法 184
第5章 入門篇(3)——數學問題 189
5.1 簡單數學 189
5.2 最大公約數與最小公倍數 201
5.3 分數的四則運算 203
5.4 素 數 209
5.5 質因子分解 218
5.6 大整數運算 223
5.7 擴展歐幾裏得算法 231
5.8 組閤數 231
第6章 C++標準模闆庫(STL)介紹 232
6.1 vector的常見用法詳解 232
6.2 set的常見用法詳解 238
6.3 string的常見用法詳解 241
6.4 map的常用用法詳解 244
6.5 queue的常見用法詳解 256
6.6 priority_queue的常見用法詳解 256
6.7 stack的常見用法詳解 257
6.8 pair的常見用法詳解 257
6.9 algorithm頭文件下常用函數介紹 257
第7章 提高篇(1)——數據結構專題(1) 258
7.1 棧的應用 258
7.2 隊列的應用 261
7.3 鏈錶處理 264
第8章 提高篇(2)——搜索專題 278
8.1 深度優先搜索(DFS) 278
8.2 廣度優先搜索(BFS) 281
第9章 提高篇(3)——數據結構專題(2) 286
9.1 樹與二叉樹 286
9.2 二叉樹的遍曆 286
9.3 樹的遍曆 296
9.4 二叉查找樹(BST) 316
9.5 平衡二叉樹(AVL樹) 325
9.6 並查集 329
9.7 堆 333
9.8 赫夫曼樹 337
第10章 提高篇(4)——圖算法專題 338
10.1 圖的定義和相關術語 338
10.2 圖的存儲 338
10.3 圖的遍曆 338
10.4 最短路徑 357
10.5 最小生成樹 385
10.6 拓撲排序 386
10.7 關鍵路徑 386
第11章 提高篇(5)——動態規劃專題 387
11.1 動態規劃的遞歸寫法和遞推寫法 387
11.2 最大連續子序列和 387
11.3 最長不下降子序列(LIS) 390
11.4 最長公共子序列(LCS) 392
11.5 最長迴文子串 394
11.6 DAG最長路 396
11.7 背包問題 396
11.8 總 結 399
第12章 提高篇(6)——字符串專題 400
12.1 字符串hash 400
12.2 KMP算法 402
第13章 專題擴展 403
13.1 分塊思想 403
13.2 樹狀數組 406
13.3 快樂模擬 408
附 錄 430
· · · · · · (
收起)