Skip to content

Instantly share code, notes, and snippets.

@RafaelDavisH
Created September 18, 2025 21:34
Show Gist options
  • Save RafaelDavisH/80dcb43ff29cec994882a76e4fc29e1e to your computer and use it in GitHub Desktop.
Save RafaelDavisH/80dcb43ff29cec994882a76e4fc29e1e to your computer and use it in GitHub Desktop.
Algorithm list
## **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