0% found this document useful (0 votes)
95 views2 pages

60 Day DSA Roadmap

The 60-day DSA roadmap provides a structured plan for learning Data Structures and Algorithms from scratch, covering essential topics each week. It includes daily tasks focused on programming languages, basic algorithms, arrays, strings, searching and sorting, linked lists, stacks and queues, trees, heaps and hashing, graphs, and dynamic programming. Each week builds on the previous one, ensuring steady progress and practice through problem-solving.

Uploaded by

tanmayshinde006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views2 pages

60 Day DSA Roadmap

The 60-day DSA roadmap provides a structured plan for learning Data Structures and Algorithms from scratch, covering essential topics each week. It includes daily tasks focused on programming languages, basic algorithms, arrays, strings, searching and sorting, linked lists, stacks and queues, trees, heaps and hashing, graphs, and dynamic programming. Each week builds on the previous one, ensuring steady progress and practice through problem-solving.

Uploaded by

tanmayshinde006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

60-Day DSA Roadmap

This 60-day roadmap is designed to guide you through learning Data Structures and
Algorithms (DSA) from scratch. Each day is structured with specific topics and resources to
ensure steady progress.

Day 1: Choose a Programming Language


Choose a programming language you're comfortable with or one that's widely used for DSA.
Popular options include:​
- C++ (Great for competitive programming)​
- Python (Beginner-friendly and versatile)​
- Java (Widely used and object-oriented)

Week 1: Basics and Complexity Analysis


Day 2-3: Learn basic syntax of your chosen language.

Day 4-5: Understand time complexity (Big O notation).

Day 6-7: Practice basic algorithms like linear and binary search.

Week 2: Arrays
Day 8-9: Learn about arrays and solve basic problems (max/min, reverse an array).

Day 10-11: Study the two-pointer technique and solve pair sum problems.

Day 12-14: Learn the sliding window technique and solve subarray problems.

Week 3: Strings
Day 15-16: Practice basic string manipulations (palindrome check, frequency count).

Day 17-18: Learn pattern matching algorithms like KMP.

Day 19-21: Solve advanced string problems (longest substring, string compression).

Week 4: Searching and Sorting


Day 22-23: Master binary search and its variations.

Day 24-25: Learn QuickSort, MergeSort, and HeapSort.

Day 26-28: Solve problems like Kth largest element and median of two sorted arrays.

Week 5: Linked Lists


Day 29-30: Learn singly linked lists (insert, delete, traverse).

Day 31-32: Practice reversing a linked list and detecting cycles.


Day 33-35: Solve advanced problems like merging sorted linked lists.

Week 6: Stacks and Queues


Day 36-37: Understand stack operations and solve problems like valid parentheses.

Day 38-39: Learn about queues (normal, circular, deque).

Day 40-42: Solve problems like sliding window maximum and stack using queues.

Week 7: Trees
Day 43-44: Learn binary tree traversal (inorder, preorder, postorder).

Day 45-46: Study Binary Search Trees (BST) and operations.

Day 47-48: Solve tree problems like height calculation and lowest common ancestor.

Week 8: Heaps and Hashing


Day 49-50: Learn heaps and priority queues. Solve Kth largest element.

Day 51-52: Understand hashing concepts and solve problems like two-sum.

Week 9: Graphs
Day 53-54: Learn graph representations (adjacency matrix, list).

Day 55-56: Practice BFS and DFS traversals.

Day 57-58: Solve graph problems like cycle detection and shortest paths.

Week 10: Dynamic Programming


Day 59: Understand the basics of dynamic programming (tabulation vs. memoization).

Day 60: Solve beginner DP problems (Fibonacci, 0/1 Knapsack).

You might also like