Writen by Vietnamese. Learning algorithms. The language programming currently is C. C++ and Python will be later.
source: https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Shortest Path from source to all vertices Dijkstra
- Shortest Path from every vertex to every other vertex Floyd Warshall
- Minimum Spanning tree Prim
- Minimum Spanning tree Kruskal
- Topological Sort
- Johnson’s algorithm
- Articulation Points (or Cut Vertices) in a Graph
- Bridges in a graph
- Longest Common Subsequence
- Longest Increasing Subsequence
- Edit Distance
- Minimum Partition
- Ways to Cover a Distance
- Longest Path In Matrix
- Subset Sum Problem
- Optimal Strategy for a Game
- 0-1 Knapsack Problem
- Assembly Line Scheduling
- Binary Search
- Quick Sort
- Merge Sort
- Order Statistics
- KMP algorithm
- Rabin karp
- Z’s algorithm
- Aho Corasick String Matching
- Counting Sort
- Manacher’s algorithm
-
Primality Test | Set 1 (Introduction and School Method)
-
Primality Test | Set 2 (Fermat Method)
-
Primality Test | Set 3 (Miller–Rabin)
-
Sieve of Eratosthenes
-
Segmented Sieve
-
Wilson’s Theorem
-
Prime Factorisation
-
Pollard’s rho algorithm
-
Basic and Extended Euclidean algorithms
-
Euler’s Totient Function
-
Modular Exponentiation
-
Modular Multiplicative Inverse
-
Chinese remainder theorem Introduction
-
Chinese remainder theorem and Modulo Inverse Implementation
-
Counting Inversions
-
Counting Inversions using BIT
-
logarithmic exponentiation
-
Square root of an integer
-
Heavy light Decomposition , this and this
-
Matrix Rank
-
Gaussian Elimination to Solve Linear Equations
-
Hungarian algorithm
-
Link cut
-
Mo’s algorithm and this
-
Factorial of a large number in C++
-
Factorial of a large number in Java+
-
Russian Peasant Multiplication
-
Catalan Number
- Convex Hull
- Graham Scan
- Line Intersection
- Interval Tree
- Matrix Exponentiation and this
- Maxflow Ford Furkerson Algo and Edmond Karp Implementation
- Min cut
- Stable Marriage Problem
- Hopcroft–Karp Algorithm for Maximum Matching
- Dinic’s algo and e-maxx
- Binary Indexed Tree or Fenwick tree
- Segment Tree (RMQ, Range Sum and Lazy Propagation)
- K-D tree (See insert, minimum and delete)
- Union Find Disjoint Set (Cycle Detection and By Rank and Path Compression)
- Tries
- Suffix array (this, this and this)
- Sparse table
- Suffix automata
- Suffix automata II
- LCA and RMQ