DayWise DSA Plan
DayWise DSA Plan
• Day 1-2: Introduction to arrays, basic operations (insertion, deletion), array traversal.
• Day 3-4: Sorting techniques (Bubble Sort, Selection Sort, Insertion Sort).
o Practice: Problems like "Pair with a given sum," "Longest substring without repeating
characters."
• Day 1-2: Introduction to Linked Lists (Singly Linked List) – creation, insertion, deletion.
o Practice: Problems like reversing a linked list, detecting a cycle in a linked list.
• Day 5-6: Linked List problems – merging two sorted lists, intersection point of two linked
lists.
o Practice: Valid parentheses, next greater element, implement a stack using queues.
• Day 5-6: Applications of stacks and queues – expression evaluation (postfix, infix), balanced
parentheses.
• Day 3-4: Advanced recursion – solving problems with multiple recursion branches.
Week 5: Trees
• Day 1-2: Introduction to trees – binary trees, tree traversals (in-order, pre-order, post-order).
• Day 5-6: Advanced tree problems – height of a tree, diameter of a binary tree.
Week 6: Graphs
• Day 1-2: Introduction to graphs – representation (adjacency list, adjacency matrix), BFS, DFS.
• Day 5-6: Graph problems – detecting cycles in directed and undirected graphs, connected
components.
• Day 1-2: Introduction to DP – memoization vs. tabulation, basic problems like Fibonacci, coin
change problem.
• Day 7: Take a mock test – timed coding challenges to simulate real exam or interview
conditions.
• Practice daily: Aim to solve at least 3-5 problems each day from the topic you're studying.
• Focus on problem-solving: Understand the logic behind the solutions rather than
memorizing them.
• Track progress: Use platforms like LeetCode or HackerRank to track your performance and
adjust your weak areas.
• Review mistakes: After each problem, review the solution, especially if you got it wrong.
Understand your mistakes and learn from them.