阅读《算法导论》过程中实现的部分算法(Java版)。
-
chapter 2
- 插入排序
- 归并排序
-
chapter 3
- 最大子数组问题
-
chapter 6
堆
数据结构- 堆排序
-
chapter 7
- 快速排序
- 快速排序(随机增强版)
-
chapter 8
- 计数排序
- 桶排序
- 基数排序
-
chapter 9
- 期望为线性时间的选择算法(基于快排**)
- 最坏为 O(n) 的选择选择算法
-
chapter 10
队列
(数组实现)链表
(多维数组实现)
-
chapter 11
散列表
(链接法)散列表
(开放地址法)完美散列
(针对静态集合)
-
chapter 12
二叉搜索树
-
chapter 13
红黑树
-
chapter 14
区间树
顺序统计树
-
chapter 15
- 切割钢管问题
- 最长公共子序列问题
- 矩阵链乘法问题
- 最优二叉搜索树问题
-
chapter 16
- 活动选择问题
HuffmanCode
- 任务调度问题
-
chapter 18
B Tree
-
chapter 19
FIB Heap
-
chapter 21
- 用于不想交集合的数据结构
链表
实现森林
实现
- 用于不想交集合的数据结构
-
chapter 22
- 基本图算法
BFS
DFS
- 图算法应用
- 拓扑排序
- 强连通分量
- 基本图算法
-
chapter 23
Kruskal
Prim
-
chapter 24
Bellman_Ford
- 解决有向无环图算法应用 --
PERT
- 解决有向图权重非负图 --
Dijkstra
-
chapter 25
- 所有结点对的最短路径 -- 类矩阵乘法解法
- 利用最短路径矩阵计算前驱子图 --
Queue
FloydWarshall
Johnson
-
chapter 26
EdmondsKarp
- 最大二分匹配
-
chapter 27
多线程化归并排序(线程池版)多线程化归并排序(线程版)多线程化归并排序(提高版)请忽略以上实现,待重写。。。
-
Other
- LeetCode
推荐原作者的讲授视频:《算法导论(MIT)》
-
这些算法是我在读完一章后,凭着兴趣实现的。对每一个算法虽有测试,但由于种种因素很可能存在
错误
或考虑不足
。希望大家可以指出,我们共同进步。 -
关于注释,在写前面几章的时候没有注意,后几章乃至以后的都会加注释。
-
希望有更多的人可以加入进来:实现《算法导论》中的算法(无论别人在此是否已经实现过)。让我们一起开始吧~~~