Skip to content

Latest commit

 

History

History
284 lines (236 loc) · 6.26 KB

AlgoList.md

File metadata and controls

284 lines (236 loc) · 6.26 KB

1. Sorting and Searching Algorithms

Easy

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Linear Search
  • Binary Search
  • Merge Two Sorted Arrays
  • Jump Search (Missing)

Medium

  • Merge Sort
  • Quick Sort
  • Counting Sort
  • Binary Search on Rotated Array
  • Search Insert Position
  • Interpolation Search (Missing)

Hard

  • Heap Sort
  • Radix Sort
  • Find Median of Two Sorted Arrays
  • Exponential Search
  • Shell Sort (Missing)

Hardest

  • IntroSort
  • TimSort
  • Pattern Searching using Binary Search
  • Kth Smallest/Largest Element in Unsorted Array (Using Quickselect)
  • External Sorting (Missing)

2. Dynamic Programming

Easy

  • Fibonacci Sequence (Tabulation and Memoization)
  • Climbing Stairs
  • Longest Common Subsequence
  • 0/1 Knapsack Problem
  • Decode Ways (Missing)

Medium

  • Longest Increasing Subsequence
  • Coin Change Problem
  • Partition Equal Subset Sum
  • Minimum Path Sum in Grid
  • Maximum Product Subarray (Missing)

Hard

  • Edit Distance
  • Matrix Chain Multiplication
  • Palindromic Substrings
  • Longest Palindromic Subsequence
  • Wildcard Matching (Missing)

Hardest

  • Egg Dropping Problem
  • Word Break Problem (With Trie Optimization)
  • Optimal Binary Search Tree
  • Weighted Job Scheduling
  • Burst Balloons (Missing)

3. Graph Algorithms

Easy

  • Breadth-First Search (BFS)
  • Depth-First Search (DFS)
  • Graph Representation (Adjacency List and Matrix)
  • Detect Cycle in Undirected Graph
  • Shortest Path in Unweighted Graph (Missing)

Medium

  • Dijkstra's Algorithm
  • Topological Sorting
  • Flood Fill Algorithm
  • Detect Cycle in Directed Graph (Kahn's Algorithm)
  • All Paths from Source to Target (Missing)

Hard

  • Bellman-Ford Algorithm
  • Minimum Spanning Tree (Kruskal's and Prim's)
  • Strongly Connected Components (Kosaraju's Algorithm)
  • Bipartite Graph Check
  • Eulerian Path and Circuit (Missing)

Hardest

  • Floyd-Warshall Algorithm
  • Shortest Path in a Weighted Graph (Johnson’s Algorithm)
  • Maximum Flow Problem (Edmonds-Karp Algorithm)
  • Travelling Salesman Problem
  • Graph Coloring (Missing)

4. Greedy Algorithms

Easy

  • Activity Selection Problem
  • Fractional Knapsack Problem
  • Job Sequencing Problem
  • Minimum Cost of Ropes
  • Optimal Merge Pattern (Missing)

Medium

  • Huffman Coding
  • Minimum Spanning Tree (Kruskal's and Prim's)
  • Gas Station Problem
  • Connecting Cities with Minimum Cost
  • Smallest Subsequence with Sum Greater than K (Missing)

Hard

  • Interval Partitioning
  • Minimize Maximum Difference Between Heights
  • Greedy Coloring of a Graph
  • Shortest Job First (Missing)

Hardest

  • Minimum Number of Platforms Required
  • Optimal File Merging
  • Scheduling Weighted Jobs
  • Lexicographically Smallest Subsequence (Missing)

5. Backtracking

Easy

  • Generate All Subsets of a Set
  • N-Queens Problem
  • Rat in a Maze
  • Combination Sum (Missing)

Medium

  • Sudoku Solver
  • Word Search
  • Permutations of a String/Array
  • Restore IP Addresses (Missing)

Hard

  • Hamiltonian Cycle
  • M-Coloring Problem
  • Knight's Tour Problem
  • Subset Sum Problem (Missing)

Hardest

  • Crossword Puzzle Solver
  • Recursive Crossword Puzzle with Constraints
  • Solving Boggle with Trie
  • Magic Square Solver (Missing)

6. Divide and Conquer

Easy

  • Merge Sort
  • Binary Search
  • Maximum Subarray Sum (Kadane’s Algorithm)
  • Find Peak Element (Missing)

Medium

  • Median of Two Sorted Arrays
  • Quick Sort
  • Closest Pair of Points
  • Power of a Number (Missing)

Hard

  • Strassen’s Matrix Multiplication
  • Skyline Problem
  • Convex Hull Problem (Divide and Conquer)
  • Merge k Sorted Lists (Missing)

Hardest

  • Karatsuba Multiplication
  • Sparse Table Construction
  • Fast Exponentiation (With Modular Arithmetic)
  • Count of Smaller Numbers After Self (Missing)

7. String Algorithms

Easy

  • Reverse a String
  • Check for Anagrams
  • Longest Common Prefix
  • Valid Palindrome (Missing)

Medium

  • Rabin-Karp Algorithm
  • Z-Algorithm
  • Longest Repeating Subsequence
  • String Compression (Missing)

Hard

  • Knuth-Morris-Pratt (KMP) Algorithm
  • Suffix Arrays
  • Manacher’s Algorithm (Longest Palindromic Substring)
  • Minimum Insertions to Make Palindrome (Missing)

Hardest

  • Aho-Corasick Algorithm
  • Suffix Trees
  • Minimum Window Substring (Sliding Window + HashMap)
  • Circular String Rotation (Missing)

8. Mathematical Algorithms

Easy

  • Prime Number Check
  • GCD and LCM Calculation
  • Factorial of a Number
  • Check for Perfect Square (Missing)

Medium

  • Sieve of Eratosthenes
  • Modular Exponentiation
  • Euclidean Algorithm for GCD
  • Count Primes (Missing)

Hard

  • Chinese Remainder Theorem
  • Modular Multiplicative Inverse
  • Fast Fourier Transform (FFT)
  • Catalan Numbers (Missing)

Hardest

  • Lucas Theorem
  • Miller-Rabin Primality Test
  • Pollard’s Rho Algorithm (Factorization)
  • Integer Factorization with Elliptic Curve (Missing)

9. Bit Manipulation

Easy

  • Check if a Number is Power of Two
  • Count Set Bits
  • XOR of All Numbers in a Range
  • Swap Two Numbers Without Temporary Variable (Missing)

Medium

  • Subset Generation Using Bits
  • Find Missing Number (Using XOR)
  • Single Number in a Pair Array
  • Reverse Integer Bits (Missing)

Hard

  • Maximum XOR of Two Numbers in an Array
  • Number of Valid Words for Each Puzzle
  • Reverse Bits of a Number
  • Divide Two Integers (Missing)

Hardest

  • Bit Masking for Traveling Salesman Problem
  • Bitmask Dynamic Programming (Weighted Graph)
  • Submatrix Queries Using Bitmask Optimization
  • Count Square Submatrices (Missing)

10. Advanced Data Structures

Easy

  • Binary Search Tree (Insertion, Deletion)
  • Trie (Prefix Tree) Implementation
  • HashMap Operations
  • AVL Trees (Missing)

Medium

  • Segment Tree (Range Queries)
  • Fenwick Tree (Binary Indexed Tree)
  • Disjoint Set Union (DSU)
  • K-D Trees (Missing)

Hard

  • Persistent Segment Tree
  • Heavy Light Decomposition
  • Splay Trees
  • Skip Lists (Missing)

Hardest

  • Treap (Tree + Heap)
  • Dynamic Connectivity with Link-Cut Trees
  • Suffix Automaton
  • Wavelet Trees (Missing)