A collection of algorithms and data structures that I have implemented. Also, some competitive programming solutions. 🚀
https://www.topcoder.com/community/competitive-programming/tutorials/
- Kattis 200+ problems solved
- Codeforces barely used
- LeetCode not used
- HackerRank
- Advent of Code not used
Algorithm | Implemented | Platform to Test |
---|---|---|
Graphs | ||
Bellman-Ford algorithm | C++ | |
Breadth-first search | Rust | HackerRank |
Depth-first search | C++ | |
Dijkstra's algorithm | C++ | |
Edmonds-Karp algorithm | C++ | |
Eulerian path | C++ | |
Floyd-Warshall algorithm | C++ Rust | |
Ford-Fulkerson algorithm | C++ | |
Kruskal's algorithm | C++ | |
Prim's algorithm | ❌ | |
Topological sorting | ❌ | |
Strings | ||
Aho-Corasick algorithm | ❌ | |
Knuth-Morris-Pratt algorithm | ❌ | |
Manacher's algorithm | ❌ | |
Rabin-Karp algorithm | ❌ | |
Suffix array | ❌ | |
Suffix automaton | ❌ | |
Suffix tree | ❌ | |
Z algorithm | ❌ | |
Math | ||
Binomial coefficients | Rust | |
Chinese remainder theorem | C++ | Kattis |
Euclidean algorithm | C++ | |
Euler's totient function | ❌ | |
Extended Euclidean algorithm | C++ | |
Factorization | ❌ | |
Fast Fourier transform | ❌ | |
Primality tests | ❌ | |
Sieve of Eratosthenes | Rust | Kattis |
Geometry | ||
Closest pair of points | ❌ | |
Convex hull | C++ | |
Delaunay triangulation | ❌ | |
KD-tree | ❌ | |
Line intersection | ❌ | |
Rotating calipers | ❌ | |
Sweep line | ❌ | |
Voronoi diagram | ❌ | |
Dynamic programming | ||
Convex hull trick | ❌ | |
Divide and conquer optimization | ❌ | |
Edit distance | ❌ | |
Knapsack problem | ❌ | |
Longest common subsequence | ❌ | |
Longest increasing subsequence | ❌ | |
Matrix chain multiplication | ❌ | |
Cryptographic algorithms | ||
AES | C | |
RSA | ❌ | |
SHA-256 | C | |
Data structures | ||
Bloom filter | Rust | |
Disjoint-set union | C++ Rust | |
Fenwick tree | C++ | Kattis |
Segment tree | ❌ |