##Algorithms ###Background 前一个库主要是针对《剑指offer》,《程序员面试金典》的一些源代码实现,在解决过程中,也反映出了算法薄弱,针对一些算法问题,进行每天针对性练习。 ###Target
每天解决一道,自己的思路和源代码实现 ###Contents
####未分类
- 求两个数的最大公约数(欧几里德算法)]
####排序
-
选择排序
-
插入排序
-
希尔排序
-
归并排序
- 自底向上
- 自上朝下
-
快速排序
-
三向切分快速排序
-
堆排序
####查找
-
有序无序查找
-
二分查找
-
二叉查找树
- 插入结点
- 删除结点
- 查找结点
- 判断是否为二叉查找树
-
散列表
- 拉链法
- 线性探测
####图论
-
构造图的方法
- 邻接矩阵
- 边的数组
- 邻接表数组
-
无向图
- 图的遍历
- 深度优先遍历
- 广度优先遍历
- 路径寻找
- 联通分量
- 无环图判定
- 二分图
- 图的遍历
-
有向图
- 可到达性
- 有向图中的环
- 拓扑排序
- 强连通分量
- KosarajuSCC算法
-
最小生成树
-
Prim算法
- 及时实现
- 惰性实现
-
Kruskal算法
- quick-find
- quick-union
-
-
最短路径
-
Dijikstra算法
- 优先队列
- 拓扑排序
- 最长路径
-
Bellman-Ford算法
- 套汇问题
-
####字符串
-
字符串排序
- 键索引计数法
- 低位优先排序
- 高位优先排序
- 三向字符串快速排序
-
字符串查找
-
单词查找树
- 查找中所有的键
- 查找单词查找树中通配符匹配
- 查找单词树中的删除操作
- 查找单词树的最长前缀
-
三向单词查找树
-
-
字符串子串匹配
-
暴力匹配法
- 显式回退
- 隐式回退
-
KMP算法
-
BoyerMoore算法
-
RabinKarp指纹算法
-
-
正则表达式
- 构建NFA