-
基本算法
(1)枚举
(2)贪心
(3)递归和分治法
(4)递推
(5)构造法
(6)模拟法 -
图算法
(1)图的深度优先遍历和广度优先遍历
(2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra)
(3)最小生成树算法(prim,kruskal)
(4)拓扑排序
(5)二分图的最大匹配 (匈牙利算法)
(6)最大流的增广路算法(KM算法) -
数据结构
(1)串
(2)堆栈
(3)队列
(2)排序(快排、归并排(与逆序数有关)、堆排)
(3)简单并查集的应用
(4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)
(5)哈夫曼树
(6)堆
(7)trie树(静态建树、动态建树)
(8)KMP算法 -
简单搜索
(1)深度优先搜索
(2)广度优先搜索
(3)简单搜索技巧和剪枝 -
动态规划
(1)背包问题
(2)NP问题
(3)求解最短路径问题
(4)项目管理
(5)网络流优化
algorithms 算法
array 数组
queue 队列
list 表
stack 栈
heap 堆
hash 散列
hash table 散列表
string 串
sort 排序
quick sort 快排
merge sort 归并
heap sort 堆排
tree 树
graph 图
red-black tree 红黑树
dynamic programming 动态规划
greedy algorithms 贪婪算法