DSA Roadmap (Beginner to Advanced)
Complete DSA Roadmap (4-6 Months)
Generated on 2025-07-13
Phase 1: Prerequisites (Week 1-2)
Goal: Build solid programming basics (in C++/Java/Python)
Topics:
- Variables, Data Types, Loops, Conditionals
- Functions, Recursion Basics
- Arrays and Strings
- Input/Output
Resources:
- C++ STL Tutorial - Love Babbar (YouTube)
- Python Basics - freeCodeCamp
Phase 2: Core Data Structures (Week 3-8)
Goal: Learn commonly used data structures + implementations
Week 3: Arrays & Strings - Reverse, Rotate, Kadane's Algo
Week 4: Searching & Sorting - Binary Search, Bubble, Merge Sort
Week 5: Recursion & Backtracking - N-Queens, Subsets, Permutations
Week 6: Linked Lists - Insert, Delete, Reverse, Middle
Week 7: Stacks & Queues - Balanced Brackets, Min Stack
Week 8: Hashing (HashMap/Set) - Frequency Count, 2-Sum
DSA Roadmap (Beginner to Advanced)
Resources:
- GeeksForGeeks DSA Sheet
- NeetCode 150 Leetcode List
Phase 3: Advanced Data Structures (Week 9-12)
Goal: Master trees, heaps, graphs, and tricky recursion
Week 9: Trees - Inorder, Preorder, Postorder, Diameter
Week 10: Heap & Priority Queue - K-largest elements, Median stream
Week 11: Tries & Disjoint Sets - Auto-suggest, Union-Find
Week 12: Graphs - BFS, DFS, Dijkstra, Cycle Detection, MST, Topo Sort
Resources:
- Take U Forward - Tree & Graph Playlist
- CS50's Graph Theory Lectures (Harvard)
Phase 4: Algorithms Mastery (Week 13-18)
Goal: Develop strong problem-solving & pattern recognition
Week 13: Sliding Window, Two Pointers - Max Subarray Sum, Anagram Check
Week 14: Greedy Algorithms - Activity Selection, Fractional Knapsack
Week 15: Dynamic Programming I - Fib, Knapsack, Coin Change
Week 16: Dynamic Programming II - Longest Subsequence, Palindromes
Week 17: Bit Manipulation - XOR, Power of 2, Count Set Bits
DSA Roadmap (Beginner to Advanced)
Week 18: Combinatorics & Maths - GCD, Sieve of Eratosthenes, Modulo
Resources:
- Aditya Verma DP Playlist
- LeetCode Top Interview Questions
Phase 5: Interview Prep + Mock Tests (Week 19-24)
Goal: Be interview-ready with real-world problems
- Solve 100 LeetCode Problems (focus on interview tags)
- Mock Interviews: Pramp, InterviewBit
- Revise Core Concepts: STL, Java Collections, Python DS
- System Design (optional): Basics for FAANG prep
Tools & Platforms
- Leetcode - Best for interview prep
- GeeksforGeeks - Topic-wise notes and practice
- Codeforces/CodeChef - For CP
- Visualgo.net - Visualize DS
- Hackerrank - Structured learning
Practice Sheets
- Striver's DSA Sheet (TakeUForward)
- Love Babbar 450 DSA Sheet
- Neetcode.io Problems
DSA Roadmap (Beginner to Advanced)
Tips for Success
- Practice daily even 2-3 problems/day
- Learn to debug - use print statements, dry runs
- Track progress - Google Sheet or GitHub
- Teach someone else - best way to master