# Algorithm **Repository Path**: opensource-sumup/Algorithm ## Basic Information - **Project Name**: Algorithm - **Description**: :pencil2: Useful Algorithm Implementation - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 本仓库的实现基于《算法 第四版》和《数据结构与算法分析 Java 语言描述》。 包含 JUnit 测试代码。 对代码的详细说明请参考:[算法](https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E7%AE%97%E6%B3%95.md) ``` | 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 // 计时器 | ---- ThreeSumBinarySearch // 改进的 ThreeSum | ---- ThreeSumSlow // 未改进的 ThreeSum | Union-Find | ---- QuickFindUF // 快速查找并查集 | ---- QuickUnionUF // 快速合并并查集 | ---- WeightedQuickUnionUF // 加权快速合并并查集