Day Topic & Strengthen problem-solving
Logic Building Focusmindset. Basics of
1-2 Basics
Time & Space programming
Big-O, Big-Ω, techniques and patterns.
Big-Θ notations. Analyzing
3-4 Complexity time/space complexities of algorithms.
Study basic operations and advanced techniques
5-7 Arrays like Two-pointer,
Binary Sliding
Search, Linear Window,
Search andPrefix Sum.
variations
8-9 Searching Algorith (Rotated Arrays, etc.).
Sorting algorithms: Bubble, Merge, Quick, Heap,
10-11 Sorting Algorithms Insertion Sort.
Learn hash maps, hash tables, collisions, and their
12-13 Hashing
Two Pointer applications.
Learn the two-pointer technique for searching pairs
14-15 Technique
Sliding Window and problems like removing duplicates.
16-17 Technique
Prefix Sum Optimize problems using the sliding window approac
18-19 Technique Learn
Learn to optimize
linked subarray queries
list operations using prefix
(singly, doubly, and sums
20-22 Linked Lists circular linked lists).
23-24 Stack and Queue Learn
Study operations
tree traversaland(in-order,
applications of stack
pre-order, and queu
post-
25-26 Trees order),graph
Study BST operations, and tree
representations, BFS,balancing.
DFS, and graph
27-28 Graphs
Programming algorithms (Dijkstra's, Cycle Detection).
Master DP concepts (memoization, tabulation), 0/1
29-30 (DP) Knapsack, Longest Common Subsequence, etc.
LeetCode - Easy problems Resources
NPTEL
NPTEL -- Problem-Solving & Programming
"Analysis of Algorithms" in 2)
(Module 1, C (Module 1)
LeetCode
LeetCode (Practice problems)(Easy, Medium)
- Arrays problems
HackerRank - Arrays section
LeetCode - Searching problems
NPTEL - "Data Structures
LeetCode - Sorting problems and Algorithms" (Module on Searching)
HackerRank - Sorting section problems
LeetCode - HashMap/HashSet
HackerRank - Hashing
GeeksforGeeks problems
- Two-pointer section
technique
LeetCode - Two-pointer
GeeksforGeeks - Sliding problems
Window Technique
GeeksforGeeks - Prefix Sumproblems
LeetCode - Sliding window
LeetCode
LeetCode -- Prefix
LinkedSum problems (Easy, Medium)
List problems
HackerRank - Linked List problems
LeetCode - Stack/Queue problems
HackerRank
LeetCode - Stack
- Binary and Binary
Tree/ QueueSearch
sectionTree problems
NPTEL - Trees
LeetCode module
- Graph problems
NPTEL - Graph Algorithms module Hard)
LeetCode - DP problems (Medium,
NPTEL - "Dynamic Programming" module
Practice
Fibonacci, Prime Numbers, Palindromes, Sum of Digits, etc.
Analyze time complexity of sorting and searching algorithms.
Reverse an array, Majority Element, Kth Largest, Subarrays etc.
Implement Binary Search, Search in rotated arrays, First/Last occurrence of element.
Implement sorting algorithms, Sorting a nearly sorted array, Kth largest element.
Find duplicates, Longest consecutive sequence, First unique character.
Pair sum, Remove duplicates from sorted arrays, Middle element of array.
Longest substring without repeating characters, Max sum subarray, Longest subarray with K distinct characters.
Subarray sum queries, Max sum subarray using prefix sum.
Reverse linked list, Cycle detection, Find middle node.
Next greater element, Balanced parentheses, Evaluate expressions, Implement Queue using stacks.
Tree traversal, Diameter of tree, LCA (Lowest Common Ancestor), Check if tree is balanced.
BFS, DFS, Detect cycle, Find connected components, Shortest path in unweighted graph.
0/1 Knapsack, Longest Common Subsequence, Coin Change, Matrix Chain Multiplication.
y with K distinct characters.
ue using stacks.