Some relative links on this page are broken. Please visit the README.md instead.
- Bipartite maximum matching
- Lexicographic breadth first search
- Prüfer sequence
- Maximum independent set problem (using branch and reduce): O*(1.4423) time
- Hamiltonian path problem in hypercube graph
- Recognition of bipartite graph
- Recognition of chordal graph
- Recognition of cactus
- Eulerian graph by Hierholzer
- Eulerian digraph by Hierholzer
- Dijkstra's algorithm: only distance
- Dijkstra's algorithm with heap: only distance
- Dijkstra's algorithm with heap: distance and path
- Bellman-Ford algorithm: only distance and check for negative cycles
- 0-1 BFS algorithm in a binary weighted digraph
- Strongly connected components by Kosaraju
- 2-edge connected components (enumerating all bridges) by Hopcroft and Tarjan
- 2-vertex connected components (enumerating all articulation points)
- Ford-Fulkerson method
- Edmonds-Karp algorithm
- Gabow's algorithm (capacity scaling algorithm)
- Dinic's algorithm
- Maximum flow with lower bounds problem
- Fenwick tree (add a single element / accumulate a prefix)
- Segment tree (update a single element / accumulate an interval)
- Union find
- Initializable array by Bentley
- Basic modular arithmetics
- Binomial coefficient modulo prime (memorization)
- Binomial coefficient modulo prime (naive method)
- GCD (greatest common divisor) and LCM (least common multiple)
- Generate primes at compile time
- Extended Euclid's Algorithm
- Prime factorization - Trial division
- Collection of problems in computational geometry solved in C++
The geometry library move it because it is easier to organaize in a problem-driven way. - 2D geometry (Let's use CGAL)
- Make N Ex.) Make
$13$ from$\lbrace 2, 5, 5, 9 \rbrace$ ☞$(9 - 5) \times 2 + 5$
- Counting sort
- 0-1 Knapsack problem (branch and bound method)
- 2-satisfiability problem
- Longest increasing subsequence problem
- Strongly connected components by Tarjan
- Max cut prolbme on planar graph by F. Hadlock (1975)
- The Random Walk Construction of Uniform Spanning Trees and Uniform Labelled Trees
These codes are licensed under CC0.