Data Structures and Algorithms (DSA) is the single most important subject for cracking placements at product-based companies. It does not matter whether you are in a top IIT or a tier-3 college in a small town: if you can solve DSA problems confidently, you will clear technical screens at Google, Microsoft, Flipkart, and hundreds of startups. This guide gives you a structured roadmap from absolute beginner to placement-ready.
Who This Roadmap Is For
This guide is designed for college students in years 1 to 3 who are starting DSA with little or no prior experience. It assumes you know at least one programming language (C++, Java, or Python) at a basic level.
Phase 1: Foundations (4 to 6 Weeks)
Before solving problems, you need to understand how to think about problems. Phase 1 builds the mental models and language fundamentals that every advanced topic depends on.
Pick Your Language and Stick to It
C++ is the most popular for competitive programming because of STL, speed, and memory control. Java is acceptable and preferred by many at companies like Amazon. Python is fine for learning but can TLE (Time Limit Exceed) in competitive platforms. Pick one, get fluent in its syntax and standard library, and do not switch mid-preparation.
Core Concepts to Cover in Phase 1
- Time and Space Complexity: Big-O notation, O(1), O(log n), O(n), O(n log n), O(n^2). Learn to estimate the complexity of any code you write before you even run it.
- Arrays: Traversal, insertion, deletion, two-pointer technique, sliding window.
- Strings: Manipulation, palindrome checks, frequency maps using hash maps.
- Recursion: Base case, recursive case, call stack visualization. This is non-negotiable before trees or dynamic programming.
- Basic Sorting: Bubble sort, selection sort, insertion sort (understand HOW they work, not just memorize code).
Practice Target for Phase 1
Solve 40 to 60 easy problems on LeetCode or GeeksforGeeks covering arrays, strings, and basic recursion. Speed does not matter at this stage. Understanding does.
Phase 2: Core Data Structures (6 to 8 Weeks)
This is the meat of DSA preparation. Every interview at every company will test at least two or three topics from this phase.
| Topic | Key Concepts | Estimated Time |
|---|---|---|
| Linked Lists | Singly, doubly, cycle detection, reversal, merge two sorted lists | 1 week |
| Stacks and Queues | Implementation, monotonic stacks, BFS using queue | 1 week |
| Binary Search | Classic binary search, search in rotated array, answer-space binary search | 1 week |
| Hashing | Hash maps, hash sets, frequency counting, two-sum pattern | 1 week |
| Trees | Binary trees, BST, traversals (inorder, preorder, postorder, level-order) | 2 weeks |
| Heaps and Priority Queues | Min-heap, max-heap, kth largest, median of stream | 1 week |
Phase 3: Graphs and Dynamic Programming (6 to 8 Weeks)
These two topics are where most students get stuck and where placements are won or lost. They require patience, structured practice, and ideally a study partner to discuss approaches with.
Graphs
- Representation: Adjacency list vs adjacency matrix.
- BFS and DFS: Core traversal algorithms. Understand the queue-based and stack-based mental model respectively.
- Shortest paths: Dijkstra for weighted graphs, BFS for unweighted.
- Topological sort: Kahn's algorithm and DFS-based approach.
- Union-Find (Disjoint Set Union): Cycle detection in undirected graphs, Kruskal's MST.
Dynamic Programming
Dynamic Programming (DP) intimidates most students. The key insight is this: DP is just recursion with memoization. Start by solving every problem recursively, then add a cache, then convert to bottom-up tabulation.
- 1D DP: Fibonacci, climbing stairs, house robber, coin change.
- 2D DP: Longest common subsequence, edit distance, 0/1 knapsack.
- DP on strings: Palindromic substrings, longest palindromic subsequence.
- DP on trees: Max path sum, diameter of tree.
The DP Trap
Do not memorize DP solutions. Learn to identify the subproblem structure. If you memorize, you will fail on any variation. If you understand, you can solve anything.
Phase 4: Interview-Focused Practice (4 Weeks Before Placements)
- Solve 150 to 200 problems on LeetCode across easy, medium, and hard in a mixed order (not topic-by-topic).
- Do timed mock interviews: set a 30-minute timer for each problem and attempt it as if in a real interview.
- Study company-specific question sets: LeetCode has curated sets for Google, Amazon, Microsoft, and others.
- Practice explaining your thought process out loud. Interviewers evaluate communication, not just code.
- Review your wrong answers within 24 hours. The reason you got something wrong is the most valuable thing to understand.
Best Resources for DSA Preparation in 2026
| Resource | Type | Best For |
|---|---|---|
| Striver's A2Z DSA Sheet | Problem Sheet | Most complete structured sheet, 455 problems |
| Neetcode.io | Problem Sheet + Video | Clean explanations, patterns-first approach |
| LeetCode | Practice Platform | Mock interviews, company tags, contest |
| Codeforces | Competitive Programming | Advanced problem solving, ratings |
| GeeksforGeeks | Articles + Problems | Theory reference, interview questions |
| Love Babbar's DSA Sheet | Problem Sheet | Popular 450-problem beginner-friendly sheet |
| Apna College YouTube | Free Video Course | Hindi, beginner-friendly, Java-based |
Realistic Timeline by Year
- Year 1: Focus on one language and Phase 1 foundations. Do not rush. 30 minutes of DSA daily is enough.
- Year 2: Complete Phase 2 (core data structures) and start Phase 3 (graphs and DP). Target 100 problems solved.
- Year 3: Complete Phase 3 and begin Phase 4 (interview prep). Aim for 200 to 300 problems total.
- Year 4, Semester 1: Intense placement preparation. 2 to 3 hours daily on LeetCode, mock interviews, and system design basics.
Why You Need a DSA Study Partner
DSA is a subject where explaining your approach to someone else is one of the most effective learning techniques. When you articulate how you arrived at a solution, you expose the gaps in your understanding that solo practice hides.
A study partner also holds you accountable to your daily practice target. Skipping a day is much harder when someone is expecting a problem discussion from you. On Peerzy, you can browse profiles of students preparing for placements, review their skill sets and target companies, and connect with those who are at a similar stage of their DSA journey.
Find a DSA Study Partner on Peerzy
Browse student profiles of placement aspirants on Peerzy. Filter by DSA, skill level, and target companies. Send a connection request and start solving problems together.
Find Your DSA Partner