Created
September 18, 2025 21:34
-
-
Save RafaelDavisH/80dcb43ff29cec994882a76e4fc29e1e to your computer and use it in GitHub Desktop.
Algorithm list
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## **1. Sorting Algorithms** | |
| - **Bubble Sort** | |
| - **Selection Sort** | |
| - **Insertion Sort** | |
| - **Merge Sort** | |
| - **Quick Sort** | |
| - **Heap Sort** | |
| - **Counting Sort** | |
| - **Radix Sort** | |
| - **Bucket Sort** | |
| - **Shell Sort** | |
| --- | |
| ## **2. Searching Algorithms** | |
| - **Linear Search** | |
| - **Binary Search** (Iterative & Recursive) | |
| - **Jump Search** | |
| - **Interpolation Search** | |
| - **Exponential Search** | |
| --- | |
| ## **3. String Algorithms** | |
| - **Naïve String Matching** | |
| - **Rabin-Karp Algorithm** | |
| - **Knuth-Morris-Pratt (KMP) Algorithm** | |
| - **Boyer-Moore Algorithm** | |
| - **Longest Common Substring** | |
| - **Longest Common Subsequence (LCS)** | |
| - **Edit Distance (Levenshtein Distance)** | |
| - **Z-Algorithm** | |
| - **Manacher’s Algorithm** (Longest Palindromic Substring) | |
| --- | |
| ## **4. Recursion & Divide & Conquer** | |
| - **Fibonacci Sequence** (Recursive & Iterative) | |
| - **Factorial** | |
| - **Tower of Hanoi** | |
| - **Binary Search (Recursive)** | |
| - **Karatsuba Algorithm** (Fast Multiplication) | |
| - **Strassen’s Matrix Multiplication** | |
| --- | |
| ## **5. Greedy Algorithms** | |
| - **Activity Selection Problem** | |
| - **Huffman Coding** | |
| - **Kruskal’s Algorithm** (for MST) | |
| - **Prim’s Algorithm** (for MST) | |
| - **Dijkstra’s Algorithm** (Shortest Path) | |
| --- | |
| ## **6. Dynamic Programming (DP)** | |
| - **Climbing Stairs Problem** | |
| - **Coin Change Problem** | |
| - **Longest Increasing Subsequence (LIS)** | |
| - **0/1 Knapsack Problem** | |
| - **Rod Cutting Problem** | |
| - **Matrix Chain Multiplication** | |
| - **Maximum Subarray (Kadane's Algorithm)** | |
| - **Word Break Problem** | |
| - **Palindrome Partitioning** | |
| --- | |
| ## **7. Graph Algorithms** | |
| - **Breadth-First Search (BFS)** | |
| - **Depth-First Search (DFS)** | |
| - **Topological Sorting** | |
| - **Bellman-Ford Algorithm** | |
| - **Floyd-Warshall Algorithm** | |
| - **Dijkstra’s Algorithm** | |
| - **A* Search Algorithm** | |
| - **Kosaraju’s Algorithm** (Strongly Connected Components) | |
| - **Tarjan’s Algorithm** | |
| - **Union-Find / Disjoint Set** | |
| --- | |
| ## **8. Backtracking Algorithms** | |
| - **N-Queens Problem** | |
| - **Rat in a Maze** | |
| - **Word Search** | |
| - **Sudoku Solver** | |
| - **Hamiltonian Cycle** | |
| - **Knight’s Tour Problem** | |
| - **Subset Sum Problem** | |
| --- | |
| ## **9. Bit Manipulation Algorithms** | |
| - **Check if a Number is Power of Two** | |
| - **Count Set Bits (Brian Kernighan’s Algorithm)** | |
| - **XOR-based Swap** | |
| - **Find Single Number (XOR trick)** | |
| - **Gray Code Generation** | |
| --- | |
| ## **10. Other Useful Algorithms** | |
| - **Sieve of Eratosthenes** (Prime Numbers) | |
| - **Fast Power (Exponentiation by Squaring)** | |
| - **Greatest Common Divisor (Euclid’s Algorithm)** | |
| - **Least Common Multiple (LCM)** | |
| - **Reservoir Sampling** | |
| - **Fisher-Yates Shuffle** | |
| - **Sliding Window Technique** | |
| - **Two Pointers Technique** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment