基于《算法 第四版》和《数据结构与算法分析 Java 语言描述》进行实现,包含 JUnit 测试代码。
| Caching
| ---- LRU // LRU 缓存淘汰算法
| Graph
| ---- KruskalMST // Kruskal 最小生成树
| ---- PrimMST // Prim 最小生成树
| MultiThreading
| ---- AlternatePrint // 多线程交替打印
| Other
| ---- Hanoi // 汉诺塔
| ---- Huffman // 哈夫曼编码
| Queue // 队列
| Searching
| ---- OrderedST
| -------- BinarySearchOrderedST // 二分查找实现的有序符号表
| -------- BST // 二叉查找树
| -------- RedBlackBST // 红黑二叉查找树
| ---- Other
| -------- SparseVector // 稀疏矩阵
| -------- Transaction // 交易类,用于演示散列函数的实现
| ---- UnorderedST
| -------- LinearProbingHashST // 线性探测法实现的哈希表
| -------- ListUnorderedST // 链表实现的无序符号表
| Sorting
| ---- Bubble // 冒泡排序
| ---- DownUpMergeSort // 自底向上归并排序
| ---- Heap // 堆
| ---- HeapSort // 堆排序
| ---- Insertion // 插入排序
| ---- QuickSort // 快速排序
| ---- Selection // 选择排序
| ---- Shell // 希尔排序
| ---- ThreeWayQuickSort // 三路归并快速排序
| ---- Up2DownMergeSort // 自顶向上归并排序
| Stack
| ---- ArrayStack // 数组实现可动态扩容的栈
| ---- ListStack // 链表实现的栈
| ThreeSum
| ---- BinarySearch // 二分查找
| ---- RatioTest // 倍率实验
| ---- StopWatch // 计时器
| ---- ThreeSumBinarySearch // 改进的 ThreeSum
| ---- ThreeSumSlow // 未改进的 ThreeSum
| Union-Find
| ---- QuickFindUF // 快速查找并查集
| ---- QuickUnionUF // 快速合并并查集
| ---- WeightedQuickUnionUF // 加权快速合并并查集
Created my free logo at LogoMakr.com @logomakr