forked from Eric3911/Related-works-ch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
编程基础
329 lines (275 loc) · 6.36 KB
/
编程基础
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
python工程基础
http://www.runoob.com/python/python-100-examples.html
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
http://www.runoob.com/python/att-string-splitlines.html
Leetcode谷歌大神
https://blog.csdn.net/accepthjp/article/details/52301426
谷歌面试:https://hjptriplebee.github.io/Google%E9%9D%A2%E8%AF%95%E7%BB%8F%E5%8E%86-%E4%B8%80.html/
Leetcode题库:https://blog.csdn.net/u012614906/column/info/12689/12
一、C语言编程
二、C++语言编程
三、科学计算语言编程
四、数据结构和算法
第一章 - 算法基础
1.1 算法复杂度计算
1.2 神奇的兔子数列
第二章 - 线性表
2.1 链表
2.2 链表实例
第三章 - 栈与队列
3.1 栈
3.2 队列
第四章 - 数组
4.1 数组
4.2 特殊矩阵的压缩存储
第五章 - 字符串
5.1 字符串
5.2 KMP算法
第六章 - 二叉树
6.1 二叉树存储
6.2 二叉树遍历
第七章 - 树+贪心
7.1 哈夫曼树
7.2 哈夫曼编码
第八章 - 图的存储
8.1 邻接矩阵
8.2 邻接表
第九章 - 图搜索
9.1 深度优先搜索
9.2 广度优先搜索
第十章 - 图的连通性
10.1 连通分量
10.2 Tarjan算法
第一十一章 - 图+贪心
11.1 最短路径
11.2 Dijkstra、Floyd算法
11.3 最小生成树
11.4 Prim、Kruskal算法
第一十二章 - 图的应用
12.1 拓扑排序(一)
12.2 拓扑排序(二)
12.3 关键路径(一)
12.4 关键路径(二)
第一十三章 - 查找+分治
13.1 折半查找
13.2 哈希表
第一十四章 - 数表查找
14.1 二叉搜索树(一)
14.2 二叉搜索树(二)
14.3 平衡二叉树(一)
14.4 平衡二叉树(二)
第一十五章 - 简单排序
15.1 插入排序
15.2 冒泡排序
第一十六章 - 排序+分治
16.1 快速排序
16.2 归并排序
第一十七章 - 树形排序
17.1 选择排序
17.2 堆排序
第一十八章 - 分配排序
18.1 桶排序
18.2 基数排序
第一十九章 - 高级数据结构
19.1 并查集(一)
19.2 并查集(二)
19.3 优先队列(一)
19.4 优先队列(二)
19.5 树状数组(一)
19.6 树状数组(二)
19.7 线段树(一)
19.8 线段树(二)
19.9 倍增、ST表、RMQ(一)
19.10 倍增、ST表、RMQ(二)
19.11 LCA(一)
19.12 LCA(二)
19.13 Treap树(一)
19.14 Treap树(二)
19.15 树链剖分(一)
19.16 树链剖分(二)
19.17 字典树(一)
19.18 字典树(二)
19.19 后缀数组(一)
19.20 后缀数组(二)
19.21 分块(一)
19.22 分块(二)
19.23 点分治(一)
19.24 点分治(二)
19.25 边分治(一)
19.26 边分治(二)
19.27 AC自动机(一)
19.28 AC自动机(二)
19.29 B-树(一)
19.30 B-树(二)
19.31 B-树(三)
19.32 B-树(四)
19.33 红黑树(一)
19.34 红黑树(二)
19.35 红黑树(三)
19.36 红黑树(四)
19.37 伸展树Splay(一)
19.38 伸展树Splay(二)
19.39 K-D树(一)
19.40 K-D树(二)
19.41 动态树(一)
19.42 动态树(二)
19.43 左偏树(可合并堆)(一)
19.44 左偏树(可合并堆)(二)
19.45 SBT树(一)
19.46 SBT树(二)
19.47 跳表(一)
19.48 跳表(二)
19.49 树套树(一)
19.50 树套树(二)
19.51 可持久化数据结构(一)
19.52 可持久化数据结构(二)
第二十章 - 贪心+动态规划
20.1 背包问题
20.2 01背包问题
第二十一章 - 动态规划
21.1 线性DP
21.2 最长公共子序列、最长上升子序列
21.3 树形DP
21.4 背包类树形DP
21.5 区间DP
21.6 矩阵连乘、石子合并
21.7 数位DP
21.8 数字游戏
21.9 状态压缩DP
21.10 旅行商
21.11 插头DP
第二十二章 - 动态规划优化
22.1 倍增优化
22.2 数据结构优化
22.3 单调队列优化
22.4 斜率优化
22.5 四边不等式优化
第二十三章 - 深度搜索应用
23.1 回溯法
23.2 01背包
23.3 地图着色
23.4 n皇后
23.5 最优加工顺序
第二十四章 - 广度搜索应用
24.1 01背包
24.2 旅行商问题
第二十五章 - 启发式搜索
25.1 A*搜索(一)
25.2 A*搜索(二)
第二十六章 - 最大流
26.1 最短增广路算法
26.2 Dinic算法
第二十七章 - 最大流改进算法
27.1 标签算法ISPA(一)
27.2 标签算法ISPA(二)
第二十八章 - 二分图最大匹配
28.1 配对方案
28.2 匈牙利算法
第二十九章 - 最大流最小割
29.1 最大收益
29.2 方格取数
第三十章 - 最小费用最大流
30.1 最小费用路算法
30.2 消圈算法
第三十一章 - 竞赛/面试专题
31.1 ACM竞赛题目300-500
31.2 机器学习20算法
31.3 计算机视觉20讲
数据结构与算法
(ACM与考研复习)
第一章 复杂度大O记号
向量
列表
栈
队列
图
贪心策略
冒泡排序
GnomeSort
Huffman树
第二章 平衡二叉树
散列表
词典
映射
优先级队列
优化Huffman树
贪心策略
最小生成树
Prim算法
Kruskai算法
并查集
第三章 优先级队列
堆
二分查找
选择排序
插入排序
快速排序
主流数
最短径路
第四章 分治算法
主定理
最大切片
大数乘法
归并排序
快速排序
线性选取
二叉树直径
最近点对
数列问题
等差
等比
归纳法
第五章 图搜索
广度优先搜索
二部图甄别
图/树的偏心率、半径、中心、直径
圆桌骑士聚会
深度优先搜索
括号引理
拓扑排序
双联通分量分解
第六章 动态规划
斐波拉切数列
记忆化
降低空间复杂度
最大素数
幂运算
最短/最长穿越距离
最短/最长曼哈顿路径
最长公共子串
0/1背包问题
第七章 字符串
模式匹配
蛮力算法
KMP算法
改进KMP算法
boyer-Moore算法(BC策略)
boyer-Moore算法(GS策略)
键树
第八章
散列
散列表
散列函数
开放/封闭散列
桶排序
基数排序
位图(Eratosthenes 算法)
Karp-Rabin算法
第八章
计算几何
In-Triangie测试
To-Left测试(行列式)
线段判交
梯子中的点位图
凸包
极点算法
极边算法
jarvis行进/礼品包扎
递增式构造
凸包应用:水果忍者
Graham扫描
凸包应用:长城防守
多边三角形刨分
割耳法
画廊问题定理
单调多边形的三角刨分