0% found this document useful (0 votes)
72 views6 pages

10 Week Plan

The document outlines a 10-week curriculum focused on Data Structures and Algorithms (DSA), covering topics such as arrays, strings, linked lists, trees, graphs, and dynamic programming. Each week includes specific concepts, problem-solving exercises, and weekly reviews to reinforce learning. The final week emphasizes revision and mock interviews to prepare for technical interviews.

Uploaded by

shrinjoyee30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views6 pages

10 Week Plan

The document outlines a 10-week curriculum focused on Data Structures and Algorithms (DSA), covering topics such as arrays, strings, linked lists, trees, graphs, and dynamic programming. Each week includes specific concepts, problem-solving exercises, and weekly reviews to reinforce learning. The final week emphasizes revision and mock interviews to prepare for technical interviews.

Uploaded by

shrinjoyee30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Week 1: Fundamentals & Arrays

●​ Monday:
○​ Concept: Introduction to DSA, Time & Space Complexity (Big O Notation),
Recursion Basics.
○​ Problems: Simple array traversals, finding min/max, sum. (Easy)
●​ Tuesday:
○​ Concept: Arrays - Basic operations, dynamic arrays.
○​ Problems: Array manipulation (rotate, remove duplicates - sorted array),
finding missing number. (Easy/Medium)
●​ Wednesday:
○​ Concept: Arrays - Two Pointers Technique.
○​ Problems: Two sum, 3 sum, Valid Palindrome (string, but uses two pointers),
container with most water. (Medium)
●​ Thursday:
○​ Concept: Arrays - Sliding Window Technique.
○​ Problems: Max sum subarray of size K, longest substring with K distinct
characters. (Medium)
●​ Friday:
○​ Concept: Arrays - Prefix Sum.
○​ Problems: Range sum query, subarray sum equals K. (Medium)
○​ Weekly Review: Revisit all concepts, try 2-3 mixed array problems from
different types.

Week 2: Strings & Hashing

●​ Monday:
○​ Concept: Strings - Immutability, common string operations, character
manipulation.
○​ Problems: Reverse a string, check for anagrams, check for palindromes.
(Easy)
●​ Tuesday:
○​ Concept: Strings - String matching (Naive approach, introduction to KMP if
time permits).
○​ Problems: Longest common prefix, Roman to Integer, Integer to Roman.
(Medium)
●​ Wednesday:
○​ Concept: Hashing - Hash Maps and Hash Sets. Understanding put, get,
containsKey, collision resolution (conceptual).
○​ Problems: Two sum (using hash map), count distinct elements, find first
non-repeating character. (Easy/Medium)
●​ Thursday:
○​ Concept: Hashing - Frequency counting, mapping characters/numbers.
○​ Problems: Group anagrams, longest consecutive sequence, subarray sum
equals K (again, but now with hashing). (Medium)
●​ Friday:
○​ Concept: Hashing - Custom Hash Functions (briefly).
○​ Problems: Unique Morse Code Words, finding duplicates within a window
(sliding window + hash set). (Medium)
○​ Weekly Review: Focus on effective use of hashing in conjunction with
arrays/strings.

Week 3: Linked Lists & Stacks

●​ Monday:
○​ Concept: Linked Lists - Singly Linked List: creation, traversal, insertion,
deletion.
○​ Problems: Reverse a Linked List, delete node, middle of the Linked List.
(Easy/Medium)
●​ Tuesday:
○​ Concept: Linked Lists - Doubly Linked List, Circular Linked List.
○​ Problems: Merge two sorted Linked Lists, detect cycle in LL, remove Nth
node from end. (Medium)
●​ Wednesday:
○​ Concept: Stacks - LIFO principle, array vs. linked list implementation, basic
operations (push, pop, peek).
○​ Problems: Valid Parentheses, Implement Queue using Stacks.
(Easy/Medium)
●​ Thursday:
○​ Concept: Stacks - Monotonic Stack for next greater/smaller element.
○​ Problems: Next Greater Element, Largest Rectangle in Histogram
(conceptual hard). (Medium/Hard)
●​ Friday:
○​ Concept: Stacks - Application in expression evaluation.
○​ Problems: Evaluate Reverse Polish Notation, Basic Calculator (conceptual).
(Medium/Hard)
○​ Weekly Review: Ensure strong understanding of pointers/references for LL,
and stack applications.

Week 4: Queues & Recursion/Backtracking (Intermediate)

●​ Monday:
○​ Concept: Queues - FIFO principle, array vs. linked list implementation, basic
operations.
○​ Problems: Implement Stack using Queues, BFS introduction for simple grid
problems. (Easy/Medium)
●​ Tuesday:
○​ Concept: Deque (Double-ended Queue), Sliding Window Maximum.
○​ Problems: Sliding Window Maximum (using Deque). (Hard)
●​ Wednesday:
○​ Concept: Recursion - Deeper Dive: call stack, recursion tree, memoization
(intro to DP).
○​ Problems: Tower of Hanoi, all permutations of a string/array (intro to
backtracking). (Medium)
●​ Thursday:
○​ Concept: Backtracking - N-Queens problem, Combination Sum.
○​ Problems: Subsets, generate parentheses. (Medium)
●​ Friday:
○​ Concept: Backtracking - Rat in a Maze, Sudoku Solver.
○​ Problems: Word Search. (Medium/Hard)
○​ Weekly Review: Focus on designing recursive functions, identifying base
cases, and avoiding redundant calculations.

Week 5: Trees (Part 1)

●​ Monday:
○​ Concept: Trees - Terminology (root, node, leaf, depth, height), Binary Tree
properties.
○​ Problems: Implement a Binary Tree node, basic tree creation. (Easy)
●​ Tuesday:
○​ Concept: Tree Traversals - Inorder, Preorder, Postorder (Recursive).
○​ Problems: Implement all 3 traversals. (Easy)
●​ Wednesday:
○​ Concept: Tree Traversals - Level Order Traversal (BFS for trees).
○​ Problems: Level Order Traversal, maximum depth of binary tree.
(Easy/Medium)
●​ Thursday:
○​ Concept: Binary Search Trees (BST) - Properties, Insertion, Deletion.
○​ Problems: Validate BST, Search in BST. (Medium)
●​ Friday:
○​ Concept: BST - LCA in BST, convert sorted array to BST.
○​ Problems: Kth smallest element in BST. (Medium)
○​ Weekly Review: Strong focus on tree recursion and understanding BST
properties.

Week 6: Trees (Part 2) & Heaps

●​ Monday:
○​ Concept: Advanced Tree Problems - Symmetric Tree, Invert Binary Tree.
○​ Problems: Path Sum, Diameter of Binary Tree. (Medium)
●​ Tuesday:
○​ Concept: Balanced Trees (AVL, Red-Black - conceptual understanding, not
implementation).
○​ Problems: Count good nodes in Binary Tree. (Medium)
●​ Wednesday:
○​ Concept: Heaps - Min Heap, Max Heap properties, heapify process, building
a heap.
○​ Problems: Implement Min Heap, implement Max Heap. (Medium)
●​ Thursday:
○​ Concept: Priority Queue (often implemented using Heaps), Heap Sort
(conceptual).
○​ Problems: Kth largest element in an array (using min-heap), Top K Frequent
Elements. (Medium/Hard)
●​ Friday:
○​ Concept: Heaps - More applications.
○​ Problems: Merge K sorted lists (using min-heap). (Hard)
○​ Weekly Review: Understand when to use heaps vs. other data structures.

Week 7: Graphs (Part 1)

●​ Monday:
○​ Concept: Graphs - Terminology (vertex, edge, degree, path, cycle),
Directed/Undirected, Weighted/Unweighted.
○​ Problems: Graph Representation (Adjacency Matrix vs. Adjacency List).
(Easy)
●​ Tuesday:
○​ Concept: Graph Traversal - Breadth-First Search (BFS) on Graphs.
○​ Problems: BFS traversal, Find if path exists. (Medium)
●​ Wednesday:
○​ Concept: Graph Traversal - Depth-First Search (DFS) on Graphs.
○​ Problems: DFS traversal, Number of Islands, Cycle Detection (undirected
graph). (Medium)
●​ Thursday:
○​ Concept: Topological Sort (for Directed Acyclic Graphs - DAGs).
○​ Problems: Course Schedule. (Medium/Hard)
●​ Friday:
○​ Concept: Detecting Cycles in Directed Graphs (using DFS).
○​ Problems: Clone Graph. (Medium/Hard)
○​ Weekly Review: Crucial week for graph basics. Practice drawing graphs and
traversals.

Week 8: Graphs (Part 2) & Greedy Algorithms

●​ Monday:
○​ Concept: Shortest Path Algorithms - Dijkstra's Algorithm (for non-negative
weights).
○​ Problems: Dijkstra's implementation, network delay time. (Hard)
●​ Tuesday:
○​ Concept: Minimum Spanning Trees (MST) - Prim's Algorithm.
○​ Problems: Connecting Cities With Minimum Cost. (Hard)
●​ Wednesday:
○​ Concept: Greedy Algorithms - Introduction, when to use greedy.
○​ Problems: Activity Selection, Coin Change (greedy approach where
applicable), N meetings in one room. (Medium)
●​ Thursday:
○​ Concept: Greedy Algorithms - More problems.
○​ Problems: Fractional Knapsack, Jump Game. (Medium)
●​ Friday:
○​ Concept: Greedy Algorithm limitations.
○​ Problems: Gas Station. (Medium/Hard)
○​ Weekly Review: Understand the greedy choice property and optimal
substructure for greedy problems.

Week 9: Dynamic Programming (DP)

●​ Monday:
○​ Concept: Dynamic Programming - Introduction, identifying overlapping
subproblems and optimal substructure. Memoization (top-down) vs.
Tabulation (bottom-up).
○​ Problems: Fibonacci sequence (DP approach), Climbing Stairs.
(Easy/Medium)
●​ Tuesday:
○​ Concept: DP - 1D DP problems.
○​ Problems: House Robber, Maximum Subarray. (Medium)
●​ Wednesday:
○​ Concept: DP - 2D DP problems.
○​ Problems: Longest Common Subsequence (LCS), Unique Paths.
(Medium/Hard)
●​ Thursday:
○​ Concept: DP - Knapsack Problem (0/1 Knapsack), Bounded Knapsack.
○​ Problems: 0/1 Knapsack. (Hard)
●​ Friday:
○​ Concept: DP - More advanced patterns (e.g., subset sum, coin change
problem - DP).
○​ Problems: Coin Change (DP), Word Break. (Hard)
○​ Weekly Review: This is usually the hardest topic. Focus on recognizing DP
patterns.

Week 10: Revision & Mock Interviews

●​ Monday:
○​ Revision: Comprehensive review of Arrays, Strings, Linked Lists, Stacks,
Queues. Solve 3-4 mixed medium problems from these topics.
○​ Concept: Practice problem recognition.
●​ Tuesday:
○​ Revision: Comprehensive review of Trees, Heaps, Graphs. Solve 3-4 mixed
medium/hard problems from these topics.
○​ Concept: Practice problem recognition.
●​ Wednesday:
○​ Revision: Comprehensive review of Recursion, Backtracking, Greedy, DP.
Solve 3-4 mixed medium/hard problems.
○​ Mock Interview 1: (Optional, but highly recommended) Find a peer or use an
online platform for a mock interview.
●​ Thursday:
○​ Mixed Problem Solving: Solve 5-6 random problems across all topics (mix
of easy/medium/hard). Focus on speed and accuracy.
○​ Mock Interview 2: (Optional) Another mock interview, focusing on areas
identified as weak from Mock 1.
●​ Friday:
○​ Final Review: Go through your personal list of commonly botched problems.
Review common interview questions (e.g., "Tell me about yourself," "Why this
company?").
○​ Strategy: Discuss problem-solving strategy, communication skills, and
whiteboard coding.
○​ Relax: Take it easy, trust your preparation!

You might also like