Time Commitment Per Day:
✔ Concept Learning → 1 hour
✔ Solving 3-5 Problems → 1.5 to 2 hours
✔ Revision & Debugging → 30 minutes
➡ Total: 3 to 3.5 hours per day
Week 1-2: Arrays & Strings
1. Learn Array Basics & Operations (insertion, deletion, traversals) - 3 hours
2. Study Sliding Window & Prefix Sum techniques - 3.5 hours
3. Practice Sorting Algorithms & Two Pointers Approach - 3 hours
4. Understand Hashing (HashMap, HashSet) & Applications - 3.5 hours
5. Solve Kadane’s Algorithm (Maximum Subarray Sum) - 3 hours
6. Learn Binary Search Variants (Lower Bound, Upper Bound, Rotated Arrays) - 3.5
hours
7. Solve Matrix Problems (Search in 2D, Spiral Order, Rotate Matrix) - 3 hours
8. Study String Basics (Reversals, Character Frequency, Anagrams) - 3.5 hours
9. Work on Palindrome-related problems & Longest Common Prefix - 3 hours
10.Learn String Hashing (Rabin-Karp, Rolling Hash) - 3.5 hours
11.Understand Pattern Matching Algorithms (KMP, Z-Algorithm) - 3.5 hours
12.Apply Sliding Window techniques in Strings (Longest Substring Problems) - 3
hours
13.Learn Trie Data Structure (Insert, Search, Delete, Prefix Matching) - 3.5 hours
14.Practice all learned concepts and solve problems on Arrays & Strings - 3 hours
Week 3-4: Linked Lists, Stacks & Queues
15.Learn Singly & Doubly Linked Lists (Insertion, Deletion, Traversal) - 3.5 hours
16.Solve Reverse Linked List (Iterative & Recursive) - 3 hours
17.Understand Cycle Detection in Linked List (Floyd’s Algorithm) - 3.5 hours
18.Solve Merge Sort & Quick Sort on Linked Lists - 3.5 hours
19.Implement LRU Cache using Linked List & HashMap - 3.5 hours
20.Practice Linked List Problems on Leetcode & Codeforces - 3 hours
21.Learn Stack Basics (Push, Pop, Min Stack Implementation) - 3 hours
22.Implement Stacks using Arrays & Linked List - 3.5 hours
23.Understand Queue & Deque (Implementation & Operations) - 3.5 hours
24.Solve Circular Queue & Priority Queue Problems - 3.5 hours
25.Learn Monotonic Stack & Queue (Next Greater Element, Sliding Window
Maximum) - 3.5 hours
26.Solve problems on Stacks & Queues - 3 hours
27.Take a Mock Test covering Linked Lists, Stacks & Queues - 3 hours
Week 5-6: Recursion & Backtracking
28.Study Recursion Basics (Base Cases, Recursive Calls) - 3 hours
29.Solve Subset Generation, Permutations & Combinations - 3.5 hours
30.Implement N-Queens & Sudoku Solver using Backtracking - 3.5 hours
31.Solve Graph Backtracking Problems (Rat in a Maze, Word Search) - 3.5 hours
32.Work on Palindrome Partitioning & Subsets with Duplicate Handling - 3.5 hours
33.Compare Memoization vs Recursion (Top-Down Approach) - 3.5 hours
34.Solve Practice Problems on Recursion & Backtracking - 3 hours
Week 7-8: Trees & Binary Search Trees (BST)
35.Learn Tree Traversals (Preorder, Inorder, Postorder) - 3.5 hours
36.Implement BFS & DFS in Trees - 3.5 hours
37.Solve Height & Diameter of a Tree - 3.5 hours
38.Implement Lowest Common Ancestor (LCA) & Kth Ancestor - 3.5 hours
39.Study Binary Search Trees (Insertion, Deletion, Search Operations) - 3.5 hours
40.Learn about Balanced BSTs (AVL, Red-Black Trees, Splay Trees) - 3.5 hours
41.Convert Binary Tree to Doubly Linked List, Flattening Tree to List - 3.5 hours
42.Study Segment Tree & Fenwick Tree (Binary Indexed Tree) - 3.5 hours
Week 9-10: Graphs & Greedy Algorithms
43.Learn Graph Representation (Adjacency List, Adjacency Matrix) - 3.5 hours
44.Implement BFS & DFS in Graphs - 3.5 hours
45.Solve Connected Components & Cycle Detection using DFS & Union-Find - 3.5
hours
46.Implement Shortest Path Algorithms (Dijkstra, Bellman-Ford) - 3.5 hours
47.Study Minimum Spanning Tree (MST) (Kruskal’s & Prim’s Algorithm) - 3.5 hours
48.Implement Topological Sorting (Kahn’s Algorithm, DFS Method) - 3.5 hours
49.Work on Graph Advanced Topics (Bipartite Graphs, Bridges, Articulation Points) -
3.5 hours
50.Solve Greedy Algorithms (Activity Selection, Huffman Coding, Job Scheduling) -
3.5 hours
Week 11-12: Dynamic Programming & Advanced Topics
51.Learn Dynamic Programming Basics (Fibonacci, Climbing Stairs) - 3.5 hours
52.Solve Knapsack Problem (0/1, Unbounded Knapsack) - 3.5 hours
53.Work on DP on Strings (Longest Common Subsequence, Edit Distance) - 3.5 hours
54.Solve DP on Subsequences (Subset Sum, Partition Equal Subset Sum) - 3.5 hours
55.Implement DP on Grid (Unique Paths, Minimum Path Sum, Chessboard Problems) -
3.5 hours
56.Work on DP on Trees (Diameter, Maximum Path Sum in Trees) - 3.5 hours
57.Learn Bit Manipulation Techniques (XOR Tricks, Subset Generation using Bits) -
3.5 hours
58.Study Tries, Suffix Arrays & Rolling Hash Techniques - 3.5 hours
59.Take a Mock Interview with Real Problems from Leetcode & Codeforces - 3 hours
60.Attempt Final Mock Test covering all topics - 3 hours