Reference purposes .
- Knuth-Morris-Pratt Algorithm cpp python
- Depth First Search w/o stack cpp python
- Depth First Search with stack cpp python
- Breadth First Search cpp python java
- Suffix Arrays cpp
- Segment Trees cpp [python] (https://github.com/robin-0/DSA/blob/patch-1/Python/SEGTREE.py) java
- Segment Trees with Lazy Propogation cpp
- Segment Trees with Max Prefix/Suffix Sum and Max Subvector Sum cpp
- Euler Totient Function cpp python
- Dijkstra's Algorithm cpp python java
- Fast Modulo Multiplication / Binary Exponention cpp python
- Meet in Middle cpp python
- Binary Search cpp python java
- Matrix Exponention for Fibonacci Series cpp
- Modular Multipicative Inverse using Fermat's Theorem cpp
- Tries cpp python
- Bellman-Ford Algorithm cpp [python] (https://github.com/robin-0/DSA/blob/patch-3/Python/BellmanFord.py)
- Rabin-Karp Algorithm cpp python
- Binary Search Tree python
- Sieve of Eratosthenes cpp python java
- Maximum Bipartite Matching cpp python
- Floyd-Warshall Algorithm cpp python [Java] (https://github.com/saru95/DSA/blob/master/Java/floyd.java)
- Pollard Rho Integer Factorization cpp python
- Binary Indexed Trees / BIT cpp python
- Square Root Decomposition cpp
- Ford-Fulkerson Algorithm for Maximum Flow (BFS)/ Edmonds Karp Algorithm cpp java
- Miller Rabin Primality Test cpp [python] (https://github.com/saru95/DSA/blob/master/Python/MRPT.py)
- Fibonacci Numbers using fast doubling cpp python java
- Generating Non-Fibonacci Numbers cpp python
- Segmented Sieve Method of Erastothenes cpp python
- Quick Sort cpp python java
- Heap Sort cpp python java
- ConvexHull(GrahamScan)cpp
- Longest Increasing Subsequence python
- Mergesort cpp python java
- Closest Pair Of Points cpp
- Radix Sort cpp python Java
- Knapsack 0-1 python java
- Nqueens python java [cpp] (https://github.com/saru95/DSA/blob/master/Java/NQueens.cpp)
- Longest Common Subsequence python
- Kruskal Algorithm cpp java
- Bubble Sort cpp python java
- Stacks - Array implementation cpp - Linked List Implementation cpp
- Queue cpp
- Comb Sort java
- Shell Sort java
- Prim's Algorithm python
- Expression Tree cpp
- Linked List functionality cpp
- Min Heap as array [cpp] (https://github.com/saru95/DSA/blob/master/min_heap.cpp) java
- Max Heap as array [cpp] (https://github.com/saru95/DSA/blob/master/max_heap.cpp) java
- Insertion Sort Python
- Miller Rabin Primality Test [cpp] (https://github.com/saru95/DSA/blob/master/primality.cpp)
- Sieve of eratosthenes [cpp] (https://github.com/saru95/DSA/blob/master/sieve.cpp)
- Sieve implemented with BIT [cpp] (https://github.com/saru95/DSA/blob/master/BIt-Sieve.cpp)
- Z algorithm (Linear time pattern searching Algorithm) [cpp] (https://github.com/saru95/DSA/blob/master/z-algorithm.cpp)
- Karatsuba algorithm (for fast multiplication) [cpp] (https://github.com/saru95/DSA/blob/master/Karatsuba_algorithm.cpp) [python] (https://github.com/saru95/DSA/blob/master/Python/karatsuba.py)