1.语言与计算机

  递归调用

  向前引用

  随机化

  指针类型

  按位运算

2.排序

  冒泡排序(起泡排序)

  选择排序

  插入排序

  ★ Shell排序

  快速排序

  线性时间排序

  查找第k大元素

  带第二关键字的排序

3.数论(一)

  素性判断

  筛选建立素数表

  分解质因数

  进制转换

  二分取幂

  ★二分求解线性递推方程

4.数论(二)

  求最大公约数

  求最小公倍数

  ★扩展的辗转相除

  ★求解一元一次同余式

  ★中国剩余定理

  ★高斯消元

5.四则运算

  表达式计算

  高精度加法

  高精度减法

  高精度乘法

  ★高精度除法

6.图论:最小生成树

  Prim算法

  Kruskal算法

  ★Boruvka算法

  次小生成树

7.图论:求最短路

  Dijkstra算法

  Bellman-Ford算法

  Floyd-Warshall算法

  次短路

  ★差分约束系统

8.图论:DFS遍历

  深度优先搜索

  欧拉回路

  求弱连通分量

  ★求强连通分量

  ★求割点

  ★求桥

9.图论:BFS遍历

  广度优先搜索(宽度优先搜索)

  求不带权的最短路

  求图的直径

  AOV问题(拓扑排序)

  AOE问题

10.图论:二分图

  验证二分图

  匈牙利算法

  ★KM算法

  ★稳定婚姻系统

11.树

  求树的最短链

  二叉树的四种遍历

  已知先序中序求后序

  已知中序后序求先序

  ★已知先序后序求中序

  ★LCA问题的Tarjan离线算法

  ★Huffman编码

11.树

  求树的最短链

  二叉树的四种遍历

  已知先序中序求后序

  已知中序后序求先序

  ★已知先序后序求中序

  ★LCA问题的Tarjan离线算法

  ★Huffman编码

12.数据结构(一)

  表和栈

  Hash表与开散列

  ★分段Hash

  并查集

  堆

  二叉查找树

13.数据结构(二)

  ★平衡二叉树

  ★树状数组

  ★线段树

  ★块状链表

14.排列与组合

  生成所有排列

  生成所有组合

  生成下一个排列

  生成下一个组合

15.动态规划(一)

  0-1背包

  完全背包

  乘法问题

  数塔问题

  装箱问题

16.动态规划(二)

  最长上升序列(LIS)

  最长公共子串(LCM)

  最小代价子母树

17.分治与递归

  二分查找

  归并排序

  最近点对问题

  求最大子序列和的O(nlogn)算法

  Hanoi塔问题及其变种

  棋盘覆盖问题

  循环赛日程表问题

18.贪心

  最优装载问题

  部分背包问题

  独立区间的选择

  覆盖区间的选择

  区间的最小点覆盖

  点的最小区间覆盖

19.递推

  Fibonacci数的若干应用

  Catalan数的若干应用

  拆分数

  差分序列

20.其它

  网络流

  置换群

  KMP算法

原文链接:https://blog.csdn.net/Metal1/article/details/83687084