第1章 整數 1
1.1 整數的基礎知識 1
1.2 二進制 4
1.3 本章小結 13
第2章 數組 14
2.1 數組的基礎知識 14
2.2 雙指針 15
2.3 累加數組數字求子數組之和 22
2.4 本章小結 28
第3章 字符串 30
3.1 字符串的基礎知識 30
3.2 雙指針 31
3.3 回文字符串 41
3.4 本章小結 45
第4章 鏈表 46
4.1 鏈表的基礎知識 46
4.2 哨兵節(jié)點 47
4.3 雙指針 50
4.4 反轉鏈表 58
4.5 雙向鏈表和循環(huán)鏈表 66
4.6 本章小結 71
第5章 哈希表 73
5.1 哈希表的基礎知識 73
5.2 哈希表的設計 74
5.3 哈希表的應用 82
5.4 本章小結 91
第6章 棧 92
6.1 棧的基礎知識 92
6.2 棧的應用 93
6.3 本章小結 108
第7章 隊列 109
7.1 隊列的基礎知識 109
7.2 隊列的應用 110
7.3 二叉樹的廣度優(yōu)先搜索 114
7.4 本章小結 125
第8章 樹 126
8.1 樹的基礎知識 126
8.2 二叉樹的深度優(yōu)先搜索 127
8.3 二叉搜索樹 141
8.4 TreeSet和TreeMap的應用 153
8.5 本章小結 160
第9章 堆 161
9.1 堆的基礎知識 161
9.2 堆的應用 165
9.3 本章小結 172
第10章 前綴樹 174
10.1 前綴樹的基礎知識 174
10.2 前綴樹的應用 179
10.3 本章小結 191
第11章 二分查找 192
11.1 二分查找的基礎知識 192
11.2 在排序數組中二分查找 193
11.3 在數值范圍內二分查找 201
11.4 本章小結 205
第12章 排序 206
12.1 排序的基礎知識 206
12.2 計數排序 208
12.3 快速排序 211
12.4 歸并排序 215
12.5 本章小結 222
第13章 回溯法 224
13.1 回溯法的基礎知識 224
13.2 集合的組合、排列 226
13.3 回溯法解決其他類型問題 235
13.4 本章小結 239
第14章 動態(tài)規(guī)劃 241
14.1 動態(tài)規(guī)劃的基礎知識 241
14.2 單序列問題 248
14.3 雙序列問題 266
14.4 矩陣路徑問題 281
14.5 背包問題 293
14.6 本章小結 303
第15章 圖 305
15.1 圖的基礎知識 305
15.2 圖的搜索 307
15.3 拓撲排序 333
15.4 并查集 342
15.5 本章小結 354