This repository is dedicated to learning, implementing, and mastering core algorithms essential for cracking interviews at top tech firms.
- Quick Sort
- Merge Sort
- Heap Sort
- Binary Search (variations)
- Kth Smallest/Largest Element
- Search in Rotated Sorted Array
- Subset Generation
- Permutations
- N-Queens Problem
- Sudoku Solver
- Word Search
- Combination Sum
- Activity Selection
- Interval Problems (Merge/Overlap)
- Huffman Encoding
- Fractional Knapsack
- 0/1 Knapsack
- Longest Common Subsequence (LCS)
- Edit Distance
- Matrix DP (Unique Paths, Min Path Sum)
- DP on Trees
- Bitmask DP (Advanced)
- BFS & DFS (including cycle detection)
- Topological Sort
- Dijkstra’s Algorithm
- Bellman-Ford
- Floyd-Warshall
- Union-Find (Disjoint Set)
- MST (Prim’s & Kruskal’s)
- Strongly Connected Components (Kosaraju/Tarjan)
- Longest Substring with K Distinct Characters
- Max Sum Subarray of Size K
- Trapping Rainwater
- Minimize the Maximum
- Painters Partition Problem
- Allocate Books
- Koko Eating Bananas
- Trie (Prefix Tree)
- KMP Algorithm
- Rabin-Karp
- Z-Algorithm
- Range Query & Updates
- Lazy Propagation
- XOR Patterns
- Set/Unset Bits
- Power of 2
- Bitmask DP (Advanced)
- 🧠 Deep understanding of each algorithm
- 🛠️ Clean and testable code (preferably in Java)
- ✅ Check off each topic as it’s completed
Each algorithm will be placed under its respective folder: