DSA 90-Day Roadmap (Python Focused)
1. Phase 1: Python Fundamentals (Days 1-7)
- Python basics: variables, data types, input/output
- Loops, conditionals, functions
- Lists, tuples, sets, dictionaries
- Practice on HackerRank Python track
Resource: [Link]
2. Phase 2: Arrays and Strings (Days 8-18)
- Arrays: insertion, deletion, traversal
- String operations, slicing, reversing
- Solve 30 beginner array/string problems on LeetCode
Resource: [Link]
3. Phase 3: Recursion and Linked Lists (Days 19-30)
- Recursion basics: factorial, Fibonacci
- Linked List implementation in Python
- Reverse a linked list, detect cycle
Practice: GeeksforGeeks Linked List questions
4. Phase 4: Stacks, Queues, Hashmaps (Days 31-45)
- Stack and Queue using list/[Link]
- Problems: Balanced Parentheses, LRU Cache
- Hashmaps (dict): frequency count, anagrams
Practice: HackerRank Data Structures section
5. Phase 5: Trees and Graphs (Days 46-65)
- Binary Trees: traversal (inorder, preorder, postorder)
- Binary Search Trees (BST)
- Graph basics: adjacency list, DFS, BFS
Practice: 20 tree & 20 graph problems on LeetCode
6. Phase 6: Sorting, Searching, Greedy (Days 66-75)
- Sorting: bubble, merge, quicksort (Python implementation)
- Searching: linear, binary search
- Greedy algorithms: activity selection, coin change
Practice: GeeksforGeeks must-do problems
7. Phase 7: Dynamic Programming (Days 76-90)
Page 1
DSA 90-Day Roadmap (Python Focused)
- DP basics: memoization, tabulation
- Problems: Fibonacci DP, Knapsack, Longest Common Subsequence
Practice: LeetCode Dynamic Programming tag
Resource: [Link]
8. Bonus: Websites for Practice
- LeetCode ([Link]
- HackerRank ([Link]
- GeeksforGeeks ([Link]
- Codeforces ([Link]
- AtCoder ([Link]
Page 2