Skip to content

kewen119/Algorithms

This branch is 5 commits behind Dev-XYS/Algorithms:master.

Folders and files

NameName
Last commit message
Last commit date
Dec 11, 2016
Feb 9, 2017
Feb 17, 2017
Aug 29, 2016
Aug 14, 2016
Dec 14, 2016
Nov 23, 2016
Feb 11, 2017
Oct 22, 2016
Aug 7, 2016
Aug 12, 2016
Sep 10, 2016
Jul 6, 2017
Feb 13, 2017
Nov 27, 2016
Aug 27, 2016
Jan 13, 2017
Nov 21, 2016
Aug 7, 2016
Feb 23, 2017
Mar 3, 2017
Aug 5, 2016
Aug 17, 2016
Jan 13, 2017
Oct 9, 2016
Nov 17, 2016
Aug 10, 2016
Aug 19, 2016
Jun 20, 2018
Jan 13, 2017
Aug 15, 2016
May 18, 2017
Sep 17, 2016
Jan 16, 2017
Oct 4, 2016
Aug 11, 2016
Oct 22, 2016
Jan 4, 2017
Dec 27, 2016
Mar 18, 2017
Jan 23, 2017
Nov 23, 2016
Nov 21, 2016
May 23, 2017
Aug 5, 2016
Oct 4, 2016
Aug 8, 2016
Jan 20, 2017
Mar 5, 2017
Mar 17, 2017
Feb 26, 2017
Nov 27, 2016
Oct 18, 2016
Nov 16, 2016
Aug 17, 2016
Aug 4, 2016
Apr 14, 2017
Jan 24, 2017
Feb 10, 2017
Jan 13, 2017
Aug 11, 2016
Jul 8, 2017
Apr 8, 2017
Dec 12, 2016
Dec 26, 2016
Dec 3, 2016
Dec 18, 2016
Jun 1, 2017
Jul 15, 2017
Nov 24, 2016
Jan 13, 2017
Jan 19, 2017
Mar 29, 2017
Oct 5, 2016
Oct 5, 2016
Oct 5, 2016
Sep 10, 2016
Nov 24, 2016
Dec 16, 2016
Sep 24, 2016
Dec 26, 2016
Nov 4, 2016
Sep 11, 2016
Nov 20, 2016
Oct 21, 2017
Nov 12, 2016
Nov 28, 2016
Dec 1, 2016
Nov 11, 2016
Dec 13, 2016
Feb 22, 2017
Dec 15, 2016
Dec 4, 2016
Aug 26, 2016
Dec 11, 2016
Dec 11, 2016
Nov 25, 2016
Nov 27, 2016
Feb 17, 2017
Oct 28, 2016
Dec 17, 2016
Nov 29, 2016
Nov 30, 2016
Oct 23, 2016
Oct 28, 2017

Repository files navigation

Algorithms

  这里有各种算法的C++代码,任何人可以在自己的任何程序中使用。欢迎大家指出代码中的错误以及有待改进的地方。

  本仓库内所有代码的授权方式为The Unlicense。大家如果使用我的代码开发自己的软件挣了大钱,或是参考我的代码在信息学奥林匹克竞赛中获得金牌,我都会很高兴的。使用这里的代码之后,你可以自主选择是否公开源代码。总而言之,你可以把这里的代码当作你自己写的一样,无论怎样使用都是被允许的。但是,我不对本仓库内代码的正确性负责。大家要是使用我的代码开发软件而导致程序崩溃,或是参考我的代码在考试时出错,请不要向我抱怨。如果你愿意,遇到问题可以在Issues中提出来,我们共同解决。

  本仓库有两个分支,master和candidate。master用于存放原作者自己编写的代码,candidate接受所有合理的Pull Request。

  以下索引提供了本仓库内算法的中文名,方便大家查找。此列表更新可能有较长时间的延迟,不保证所有已提交算法的名称都在列表中出现。

Index

--------------------------Contents-------------------------- --------------------------FileName--------------------------
AC自动机 Aho-Corasick-Automation
单源最短路径(SPFA) Bellman-Ford(Queue-Optimised)
单源最短路径(Bellman-Ford) Bellman-Ford
使用Edmonds-Karp进行二分图匹配 Bigrpah-Matching(Edmonds-Karp)
普通的二叉搜索树 Binary-Search-Tree
广度优先搜索 Breadth-First-Search
冒泡排序 Bubble-Sort
桶排序 Bucket-Sort
组合数的递推求解 Combination(Recursion)
枚举组合 Combination
基本的复数类 Complex-Number
割点 Cut-Vertex
深度优先搜索 Depth-First-Search
堆优化的Dijkstra算法 Dijkstra(Heap-Optimised)
并查集 Disjoint-Set-Union
最大流Edmonds-Karp算法 Edmonds-Karp
欧拉函数 Euler's-Totient-Function
有向图的欧拉回路 Eulerian-Tour(Digraph)
拓展欧几里得算法 Extended-Euclid
简单的快速幂 Fast-Exponentiation
树状数组 Fenwick-Tree
所有结点对之间的最短路径(Floyd) Floyd-Warshall
凸包算法(Graham扫描法) Graham-Scan
辗转相除法求最大公约数 Greatest-Common-Divisor
堆排序 Heap-Sort
ISAP算法 Improved-Shortest-Augmenting-Path(Naive)
插入排序 Insertion-Sort
字符串匹配(KMP) Knuth-Morris-Pratt
最小生成树(Kruskal) Kruskal
最近公共祖先(Tarjan) Least-Common-Ancestor(Tarjan)
使用后缀数组求解最长公共子串 Longest-Common-Substring
最长上升子序列(n·log(n)) Longest-Increasing-Subsequence(n·log(n))
倍增法求最近公共祖先 Lowest-Common-Ancestor(Doubling)
朴素的矩阵乘法 Matrix-Multiplication(Naive)
归并排序 Merge-Sort
最小堆 Min-Heap
乘法逆元 Modular-Multiplicative-Inverse
仅支持单点修改的可持久化线段树(维护区间和值) Persistent-Segment-Tree(Sum)
试除法素数测试 Prime-Check(Naive)
线性的素数筛法 Prime-Sieve(Linear)
队列的基本操作 Queue
快速排序的优化版本 Quick-Sort(Extra-Optimised)
快速排序的随机化版本 Quick-Sort(Randomized)
快速排序 Quick-Sort
使用向量叉积判断两个有向线段的时针关系 Segment-Direction
线段树维护区间最大值 Segment-Tree(Maximum)
线段树维护区间最小值 Segment-Tree(Minimum)
线段树维护区间和值 Segment-Tree(Sum)
普通的选择算法 Selection
Eratosthenes素数筛法 Sieve-of-Erotosthenes
指针版的单向链表 Singly-Linked-List(Pointer)
跳表 Skip-List
ST表 Sparse-Table
伸展树 Splay
博弈论SG函数 Sprague-Grundy
栈的基本操作 Stack
递推法求解无符号第一类斯特林数 Stirling-Number(Cycle,Unsigned,Recursion)
递推法求解第二类斯特林数 Stirling-Number(Subset,Recursion)
倍增法求解后缀数组 Suffix-Array(Doubling)
倍增法求解后缀数组(附带Height数组) Suffix-Array-with-Height(Doubling)
使用Tarjan算法求解强连通分量 Tarjan(Strongly-Connected-Components)
数组版的字典树 Trie(Array)
指针版的字典树 Trie(Pointer)

About

全面的算法代码仓库

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%