DEV Community

AryantKumar
AryantKumar

Posted on

10

DSA ROADMAP FOR BASIC TO INTERMEDIATE IN 6 MONTHS

DSA ROADMAP

Month

1: Foundation Building
1. Week 1-2:
• Topics: Arrays, Strings
• Practice: Basic problems on array manipulation, string operations, and pattern matching.
• Resources: “Cracking the Coding Interview”, LeetCode (Easy problems).
2. Week 3-4:
• Topics: Sorting and Searching (Bubble, Selection, Insertion, Merge, Quick Sort).
• Practice: Binary search and variations, sorting-based problems.
• Resources: GeeksforGeeks, HackerRank.

Month 2: Intermediate Topics
1. Week 1-2:
• Topics: Stacks and Queues
• Practice: Problems like balancing parentheses, next greater element, queue-based challenges.
• Resources: LeetCode, GeeksforGeeks tutorials.
2. Week 3-4:
• Topics: Linked Lists (Singly, Doubly, Circular)
• Practice: Reversing a linked list, detecting cycles, merging two sorted lists.
• Resources: “Introduction to Algorithms”, Coding Ninjas DSA course.

Month 3: Recursion and Backtracking
1. Week 1-2:
• Topics: Recursion Basics, Divide and Conquer
• Practice: Fibonacci, power calculation, merge sort using recursion.
2. Week 3-4:
• Topics: Backtracking
• Practice: N-Queens, Sudoku Solver, permutations, and subsets.
• Resources: LeetCode Explore - Backtracking, HackerEarth.

Month 4: Trees and Graphs
1. Week 1-2:
• Topics: Binary Trees, Binary Search Trees
• Practice: Tree traversals (Inorder, Preorder, Postorder), Lowest Common Ancestor, Diameter of a tree.
2. Week 3-4:
• Topics: Graphs (DFS, BFS, Connected Components)
• Practice: Shortest path algorithms (Dijkstra, Bellman-Ford), cycle detection.
• Resources: NeetCode Graph Playlist, GeeksforGeeks.

Month 5: Advanced Concepts
1. Week 1-2:
• Topics: Dynamic Programming (DP) Basics
• Practice: Fibonacci, knapsack problem, longest common subsequence.
2. Week 3-4:
• Topics: Advanced DP and Greedy Algorithms
• Practice: Coin change problem, minimum path sum, interval scheduling.
• Resources: DP Tutorials on Codeforces, AtCoder.

Month 6: Mock Interviews and Optimization
1. Week 1-2:
• Topics: Hashing, Heaps, Tries
• Practice: Implementing heaps, solving problems on priority queues and tries.
2. Week 3-4:
• Focus: Mock interviews, revising weak areas, and solving timed problems.
• Resources: Mock interviews on Pramp, InterviewBit.

Daily Schedule for DSA Practice
• 1-2 Hours Daily:
• 30 minutes: Learning/reading new concepts.
• 1 hour: Solving 2-3 problems.
• Weekend: Revise concepts and attempt mock contests on platforms like Codeforces or LeetCode.

Reinvent your career. Join DEV.

It takes one minute and is worth it for your career.

Get started

Top comments (1)

Collapse
 
meeki profile image
Meeki

Great post. For problem-solving, I would also recommend platforms like codeintuition.io and structy.net

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs