Topic Subtopic
0. Arrays Reverse array
0. Arrays Rotate array (by K)
0. Arrays Move zeroes to end
0. Arrays Kadane's Algorithm (Max Subarray Sum)
0. Arrays Majority Element (Moore’s Voting)
0. Arrays Sort Colors (Dutch National Flag)
0. Arrays Merge sorted arrays
0. Arrays Best Time to Buy & Sell Stock
0. Arrays Rainwater Trapping
0. Arrays Prefix Sum in Array
1. Hashing Count Frequencies
1. Hashing Find duplicates / first non-repeating element
1. Hashing Two Sum / Subarray Sum
1. Hashing Longest Consecutive Sequence
1. Hashing Group Anagrams
1. Hashing Top K Frequent Elements
1. Hashing Longest Substring Without Repeating Characters
1. Hashing Map vs Set — Use Cases in Java
2. Sorting Bubble Sort
2. Sorting Selection Sort
2. Sorting Insertion Sort
2. Sorting Merge Sort
2. Sorting Quick Sort
2. Sorting Heap Sort
2. Sorting Counting Sort
2. Sorting Radix Sort
2. Sorting Bucket Sort
3. SearchinLinear Search
3. SearchinBinary Search
3. SearchinLower/Upper Bound
3. SearchinFirst/Last Occurrence
3. SearchinBinary Search on Answer
4. Bit ManiCount set bits
4. Bit ManiPower of two
4. Bit ManiXOR operations
4. Bit ManiBitmasking (Subset generation)
5. Two Poi Find pair with target sum
5. Two Poi Reverse array
5. Two Poi Move zeroes to end
5. Two Poi Palindrome check
5. Two Poi Remove duplicates from sorted array
6. Sliding Max sum subarray of size K
6. Sliding Longest substring without repeating characters
6. Sliding Min size subarray sum
6. Sliding Max freq element in window
7. Prefix S Prefix sum array
7. Prefix S 2D prefix sum
7. Prefix S Range sum queries
8. RecursioFactorial
8. RecursioFibonacci
8. RecursioPalindrome check
8. RecursioSubset and permutation generation
9. BacktracN-Queens
9. BacktracSudoku Solver
9. BacktracWord Search
9. BacktracCombination Sum
9. BacktracPalindrome Partitioning
9. BacktracGenerate Parentheses
10. Divide Merge Sort
10. Divide Quick Sort
10. Divide Closest Pair
10. Divide Maximum Subarray (Divide method)
11. GreedyActivity Selection
11. GreedyFractional Knapsack
11. GreedyJob Sequencing
11. GreedyHuffman Coding
11. GreedyCoin Change (Greedy)
12. DynamiFibonacci (Memoization + Tabulation)
12. Dynami0/1 Knapsack
12. DynamiUnbounded Knapsack
12. DynamiSubset Sum
12. DynamiLongest Common Subsequence
12. DynamiLongest Increasing Subsequence
12. DynamiCoin Change
12. DynamiEdit Distance
12. DynamiMatrix Chain Multiplication
13. Stacks Valid Parentheses
13. Stacks Next Greater Element
13. Stacks Largest Rectangle in Histogram
13. Stacks Min Stack
13. Stacks Infix/Postfix Evaluation
14. QueuesCircular Queue
14. QueuesQueue using Arrays/LinkedList
14. QueuesSliding Window Maximum
14. QueuesRotten Oranges
14. QueuesLRU Cache (LinkedHashMap in Java)
15. Linked Reverse Linked List
15. Linked Detect Loop (Floyd’s Cycle)
15. Linked Merge Two Sorted Lists
15. Linked Intersection Point of LLs
15. Linked Add Two Numbers
15. Linked Copy List with Random Pointer
16. Heap / Min/Max Heap
16. Heap / K Largest/Smallest Elements
16. Heap / Merge K Sorted Lists
16. Heap / Top K Frequent Elements
16. Heap / Median in Data Stream
17. Trie (PrInsert/Search Word
17. Trie (PrWord Break
17. Trie (PrAuto-suggestion
17. Trie (PrDelete Word
18. Disjoin Union by Rank
18. Disjoin Path Compression
18. Disjoin Detect Cycle (Undirected Graphs)
18. Disjoin Kruskal’s Algorithm
19. Graph BFS / DFS
19. Graph Dijkstra's Algorithm
19. Graph Bellman-Ford
19. Graph Floyd-Warshall
19. Graph Topological Sort
19. Graph Prim’s Algorithm
19. Graph Kruskal’s Algorithm
19. Graph Cycle Detection
19. Graph Bipartite Graph
19. Graph Connected Components
20. Tree A Binary Tree Traversals
20. Tree A Height / Diameter
20. Tree A Lowest Common Ancestor (LCA)
20. Tree A Balanced Tree
20. Tree A Zigzag / Vertical Traversal
20. Tree A BST to DLL
21. Binary Insert / Delete / Search
21. Binary Validate BST
21. Binary Kth Smallest Element
21. Binary Floor/Ceil in BST
21. Binary Balanced BST from Sorted Array
22. SegmenRange Sum Query
22. SegmenRange Minimum Query
22. SegmenPoint and Range Updates
22. SegmenLazy Propagation (Advanced)
23. Math AEuclidean GCD/LCM
23. Math ASieve of Eratosthenes
23. Math AModular Exponentiation
23. Math APower of Numbers
23. Math APrime Factorization
24. String KMP Algorithm
24. String Rabin-Karp
24. String Longest Palindromic Substring
24. String Longest Common Prefix
24. String Anagram Grouping