Skip to content

Symars/Algorithm

 
 

Repository files navigation

本仓库的实现基于《算法 第四版》和《数据结构与算法分析 Java 语言描述》。

包含 JUnit 测试代码。

对代码的详细说明请参考:算法

| Caching
| ---- LRU                           // LRU 缓存淘汰算法
| Graph
| ---- KruskalMST                    // Kruskal 最小生成树
| ---- PrimMST                       // Prim 最小生成树
| MultiThreading
| ---- AlternatePrint                // 多线程交替打印
| Other
| ---- Hanoi                         // 汉诺塔
| ---- Huffman                       // 哈夫曼编码
| Queue                              // 队列
| Scheduling
| ---- FCFS                          // 先来先服务调度算法
| ---- SJF                           // 最短进程优先调度算法
| 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                     // 计时器
| ---- ThreeSumFast                  // 改进的 ThreeSum
| ---- ThreeSumSlow                  // 未改进的 ThreeSum
| Union-Find
| ---- QuickFindUF                   // 快速查找并查集
| ---- QuickUnionUF                  // 快速合并并查集
| ---- WeightedQuickUnionUF          // 加权快速合并并查集

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%