
Data Structure & Algorithm (21 days Program Outline)
WEEK 1: Core Data Structures (Days 1β7)
π Day 1 β Arrays & Strings
Array basics (declaration, traversal)
String basics (immutable/mutable in C++, Java, Python)
Problems: Find min/max, reverse an array
π Day 2 β Arrays & Strings Advanced
2D Arrays and Matrix operations
Subarray problems (Kadaneβs Algorithm – Max Sum Subarray)
Problem practice: Sliding window intro
π Day 3 β Linked Lists
Singly Linked List: insert, delete
Doubly Linked List basics
Problems: Reverse a linked list
π Day 4 β Stacks
Stack operations (push, pop, peek)
Applications: Balancing brackets, postfix evaluation
Problems: Next Greater Element
π Day 5 β Queues
Queue and Circular Queue
Deque basics
Problems: Sliding window maximum
π Day 6 β Recursion
Recursive thinking
Factorial, Fibonacci
Basic Backtracking (e.g., N-Queens intro)
π Day 7 β Weekly Mini Project 1
Solve 10 problems combining Arrays, Strings, Linked List
Sample problems:
Palindrome String
Merge Two Sorted Lists
WEEK 2: Algorithms & Problem-Solving (Days 8β14)
π Day 8 β Searching Techniques
Linear Search
Binary Search (on sorted array)
Advanced: Search in Rotated Sorted Array
π Day 9 β Sorting Algorithms Part 1
Bubble Sort, Selection Sort, Insertion Sort
Complexity analysis
Code each by hand once
π Day 10 β Sorting Algorithms Part 2
Merge Sort
Quick Sort
Practice problems (sorting-based)
π Day 11 β Two Pointers & Sliding Window
Two Pointer technique
Sliding Window technique
Problems: Longest Substring Without Repeating Characters
π Day 12 β Greedy Algorithms
Concept of Greedy
Activity Selection Problem
Fractional Knapsack
π Day 13 β Basic Mathematics for DSA
Prime Numbers, Sieve of Eratosthenes
GCD, LCM
Modular arithmetic basics
π Day 14 β Weekly Mini Project 2
Solve 8 problems:
Search problems
Greedy problems
Math problems
WEEK 3: Advanced DSA (Days 15β21)
π Day 15 β Trees: Part 1
Binary Trees (Basics)
Traversals: Inorder, Preorder, Postorder
Problems: Height of Tree
π Day 16 β Trees: Part 2
Binary Search Trees (BSTs)
Insert, delete, search in BST
Problems: Lowest Common Ancestor (LCA)
π Day 17 β Heaps
Min-Heap, Max-Heap
Priority Queue operations
Problems: K largest/smallest elements
π Day 18 β Graphs: Part 1
Graph representation (Adjacency Matrix/List)
BFS (Breadth First Search)
Problems: Detect cycle in an undirected graph
π Day 19 β Graphs: Part 2
DFS (Depth First Search)
Shortest Path Algorithms (Dijkstra’s basic intro)
π Day 20 β Dynamic Programming (DP)
Introduction to DP
Memoization vs Tabulation
Problems:
0/1 Knapsack
Fibonacci DP approach
π Day 21 β Final Capstone
Solve 1 Mock Contest or a Set of 5β7 Mixed Problems:
Trees, Graphs, DP
Schedule
