forked from hbohra98/Data-Structures
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTop 10 Algorithms and Data Structures for Competitive Programming
More file actions
142 lines (105 loc) · 3.32 KB
/
Top 10 Algorithms and Data Structures for Competitive Programming
File metadata and controls
142 lines (105 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
IMP Algorithm
Top 10 Algorithms and Data Structures for Competitive Programming
In this post “Important top 10 algorithms and data structures for competitive coding “.
Topics :
Graph algorithms
Dynamic programming
Searching and Sorting:
Number theory and Other Mathematical
Geometrical and Network Flow Algorithms
Data Structures
competitive-programming
The below links cover all most important algorithms and data structure topics:
Graph Algorithms
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
All Graph Algorithms
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
All DP Algorithms
Searching And Sorting
Binary Search
Quick Sort
Merge Sort
Order Statistics
KMP algorithm
Rabin karp
Z’s algorithm
Aho Corasick String Matching
Counting Sort
Manacher’s algorithm: Part 1, Part 2 and Part 3
All Articles on Searching, Sorting and Pattern Searching.
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
Modulo Arithmetic Algorithms
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
nCr%m and this.
Miscellaneous:
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
All Articles on Mathematical Algorithms
Geometrical and Network Flow Algorithms
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
All Articles on Geometric Algorithms
Data Structures
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