Data Structures and Algorithms (DSA) form the backbone of efficient software development, technical interviews at top companies, and competitive programming. This structured roadmap takes you from absolute basics to advanced topics used in real-world systems and high-level contests.
Target audience: College students β’ Job seekers β’ Competitive programmers β’ Self-learners
Estimated time: 4β9 months (depending on daily practice hours)
Module 1 β Basics & Foundations
1. Introduction to DSA
- What is a Data Structure? Why organization matters
- What is an Algorithm? Characteristics of good algorithms
- Importance of DSA in interviews and real systems
- Common real-world applications (search engines, maps, databases, games)
2. Algorithm Analysis
- Time Complexity vs Space Complexity
- Asymptotic notations: Big-O, Big-Omega (Ξ©), Theta (Ξ)
- Best / Average / Worst case analysis
- Amortized analysis (with simple examples)
3. Recursion
Understanding the call stack, base case, recursive case, tail recursion optimization.
factorial(n):
if n == 0 or n == 1:
return 1
return n * factorial(n-1)
Module 2 β Arrays & Strings
Arrays
- Static vs Dynamic arrays
- Prefix Sum technique
- Sliding Window
- Two Pointers pattern
- Kadaneβs Algorithm (maximum subarray sum)
- Matrix / 2D array problems
Strings
- String manipulation & reversal
- Palindrome checks
- Anagram detection
- String hashing
- Pattern matching: KMP, Rabin-Karp, Z-Algorithm
Module 3 β Searching & Sorting
Searching
- Linear Search
- Binary Search (and its many variations)
- Ternary Search
Sorting
- Bubble, Selection, Insertion
- Merge Sort, Quick Sort, Heap Sort
- Counting Sort, Radix Sort, Bucket Sort
- Stability in sorting algorithms
Module 4 β Linked Lists
- Singly, Doubly, Circular Linked List
- Reverse a Linked List (iterative + recursive)
- Detect cycle β Floydβs Cycle-Finding (Hare & Tortoise)
- Merge two sorted lists
- Remove Nth node from end
- Find intersection point of two lists
Module 5 β Stack & Queue
Stack
- Array & Linked List implementation
- Infix β Postfix / Prefix conversion
- Monotonic Stack
- Next Greater Element / Next Smaller Element
Queue
- Linear Queue, Circular Queue
- Deque (Double Ended Queue)
- Priority Queue (implementation using heap)
Module 6 β Hashing
- Hash functions and properties
- Collision resolution: Chaining, Open Addressing
- Load factor and rehashing
- Applications: frequency counting, two-sum, subarray sum, longest substring without repeating characters
Module 7 β Trees
Binary Tree
- Terminology & traversals (Inorder, Preorder, Postorder, Level-order)
- Height, Diameter, Balanced check
Binary Search Tree & Advanced
- BST β Insert, Delete, Search, LCA, Validate BST
- AVL Tree, Red-Black Tree (concepts)
- Segment Tree, Fenwick Tree (BIT), Trie
Module 8 β Heap & Priority Queue
- Min Heap / Max Heap & Heapify
- Priority Queue operations
- K largest / K smallest elements
- Find median in a stream
Module 9 β Graphs
- Representation: Adjacency List vs Matrix
- BFS, DFS, Cycle detection
- Shortest Path: Dijkstra, Bellman-Ford, Floyd-Warshall
- Minimum Spanning Tree: Primβs, Kruskalβs + Union-Find
- Topological Sort, Strongly Connected Components (Kosaraju, Tarjan)
Module 10 β Greedy Algorithms
- Activity Selection Problem
- Fractional Knapsack
- Job Sequencing with Deadline
- Interval Scheduling / Merging
- Huffman Coding (basic idea)
Module 11 β Dynamic Programming (Most Important)
DP is asked in almost every top-tier interview β master it deeply.
- Memoization vs Tabulation
- 1D DP β 2D DP β Multi-dimensional DP
- Classic problems: 0/1 Knapsack, Unbounded Knapsack, LIS, LCS
- Matrix Chain Multiplication, Coin Change, Edit Distance
- DP on Trees, DP with Bitmask, State compression
Module 12 β Backtracking
- N-Queens Problem
- Sudoku Solver
- Subset Sum / Subsets generation
- Permutations & Combinations
- Combination Sum series
Module 13 β Bit Manipulation
- Bitwise operators & tricks
- XOR based problems (single number, missing number)
- Check power of 2, count set bits
- Generate all subsets using bitmask
Module 14 β Advanced Competitive Programming Topics
- Meet in the Middle
- Moβs Algorithm
- Square Root Decomposition
- Heavy-Light Decomposition
- Network Flow basics (Ford-Fulkerson, Edmonds-Karp)
- Bipartite Matching, Game Theory introduction
This is your complete DSA roadmap.
Implement β Practice β Revise β Repeat.
Happy Learning! β from beginner concepts to contest-level mastery