Top 10 Algorithms and Data Structures for Competitive Programming
- Sahil Shukla
- Nov 4, 2020
- 1 min read

Topics :
Graph algorithms
Dynamic programming
Searching and Sorting:
Number theory and Other Mathematical
Geometrical and Network Flow Algorithms
Data Structures
Graph:
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
Dynamic Programming
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
Searching And Sorting
Binary Search
Quick Sort
Merge Sort
Order Statistics
KMP algorithm
Rabin karp
Z’s algorithm
Aho Corasick String Matching
Counting Sort
Number theory and Other Mathematical
Prime Numbers and Prime Factorization
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
Geometrical and Network Flow Algorithms
Convex Hull
Graham Scan
Line Intersection
Interval Tree
Matrix Exponentiation
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
Commentaires