算法与数据结构总结

(大二时为准备华科联创团队新成员算法培训而写)


一、基本算法
1.模拟
pku1006(不断优化,最终可用同余求解),pku1013(分情况讨论),zju1051(模拟种群繁殖),

2.DFS(深搜)
PKU1166,pku1011(强力剪枝)

3.BFS(宽搜)
4.贪心
5.二分
6.数学
7.动归
入门:pku1088(基础DP/记忆化搜索) pku1163(SB数字DP) pku1157(弱智DP)  pku1050(基本矩阵DP) zju2136(最长上升经典题,注意二分法)
背包:zju1366(基础背包)  zju2014(经典背包)  zju1558(可加可减)
字符串DP:1458(基础字符串DP) pku1080(简单字符串DP)  pku1159(回文串)
其它:pku2411(二进制表示状态) pku1037(小难的数字DP)
 

8.prim(最小生成树)
9.dijkstra(最短路)
10.floyd算法(每对顶点最短路)
11.求凸包(几何)
12.博弈论
13.随机化

二、辅助算法
1.快排
pku1002
2.高精度
pku1001
3.求质数
4.求最大公约数
5.HASH
6.缩环为点
7.求割顶(图论)
8.斜率优化

三、树的高级算法
1.线段树
2.平衡树(伸展树/红黑树)
3.树状数组
4.st/Tarjan/线段树剖分树(关于LCA:最近公共祖先问题)
5.线段树森林剖分树/RMQ-LCA

四、字符串处理高级算法
1.KMP
2.后缀数组
3.匹配自动机

五、图论高级算法
1.二分图匹配
2.网络流

六、部分数学方法
1.关于排列组合
2.解模线性方程
3.同余
4.群论

猜你喜欢

转载自blog.csdn.net/wlkdb/article/details/50391701