Algorithms
1. Basic Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Bucket Sort
2. Searching Algorithms
- Linear Search
- Binary Search
- Jump Search
- Interpolation Search
- Exponential Search
- Ternary Search
3. Graph Algorithms
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Dijkstra’s Shortest Path Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Kruskal’s Minimum Spanning Tree (MST)
- Prim’s Minimum Spanning Tree (MST)
- Topological Sort
- Kahn’s Algorithm for Topological Sorting
- Tarjan’s Algorithm for Strongly Connected Components
- Kosaraju’s Algorithm for Strongly Connected Components
- Ford-Fulkerson Algorithm for Maximum Flow
- Edmonds-Karp Algorithm (BFS-based Maximum Flow)
- Dinic’s Algorithm (Maximum Flow)
- Hopcroft-Karp Algorithm (Maximum Bipartite Matching)
- Bellman-Ford Algorithm for Negative Cycles
4. Dynamic Programming
- Fibonacci Sequence (DP)
- Knapsack Problem (0/1 Knapsack)
- Longest Common Subsequence
- Longest Increasing Subsequence
- Matrix Chain Multiplication
- Edit Distance
- Coin Change Problem
- Subset Sum Problem
- Partition Problem
- Rod Cutting Problem
- Unbounded Knapsack Problem
- Longest Palindromic Subsequence
5. Greedy Algorithms
- Activity Selection Problem
- Fractional Knapsack Problem
- Huffman Coding
- Kruskal’s Algorithm for MST
- Prim’s Algorithm for MST
- Job Sequencing Problem
- Optimal Merge Pattern
6. Backtracking
- N-Queens Problem
- Sudoku Solver
- Subset Sum Problem
- Permutations and Combinations
- Hamiltonian Path/Circuit
- Knight’s Tour Problem
- Graph Coloring Problem
7. Graph Theory Algorithms
- Eulerian Path and Circuit
- Hamiltonian Path and Circuit
- Articulation Points (Cut Vertices)
- Bridges in Graphs (Cut Edges)
- Bipartite Graph Check
- Maximum Bipartite Matching
- Strongly Connected Components (SCCs)
- Bridge-Finding Algorithm
8. Number Theory Algorithms
- Sieve of Eratosthenes (Prime Generation)
- Greatest Common Divisor (GCD) - Euclidean Algorithm
- Least Common Multiple (LCM)
- Modular Arithmetic
- Fast Exponentiation (Exponentiation by Squaring)
- Modular Inverse (Extended Euclidean Algorithm)
- Chinese Remainder Theorem
- Prime Factorization
- Miller-Rabin Primality Test
- Fermat’s Little Theorem
9. Data Structures Algorithms
- Segment Tree (with Lazy Propagation)
- Fenwick Tree (Binary Indexed Tree)
- Trie Operations
- Union-Find Data Structure (Disjoint Set Union)
- Splay Trees
- Treap (Randomized Binary Search Tree)
- AVL Trees
- Red-Black Trees
- Skip Lists
10. String Algorithms
- KMP String Matching Algorithm
- Rabin-Karp Algorithm
- Z Algorithm
- Suffix Array Construction
- Suffix Tree Construction
- Longest Common Prefix (LCP) Array
- Manacher’s Algorithm (Longest Palindromic Substring)
- Aho-Corasick Algorithm (Multi-pattern String Matching)
- Edit Distance
- String Hashing
11. Computational Geometry Algorithms
- Convex Hull (Graham Scan, Jarvis March)
- Line Intersection
- Point in Polygon
- Polygon Area Calculation
- Sweep Line Algorithm
- Segment Intersection