** 30-Day DSA Mastery Roadmap Using Python – For Google-Level Interviews**
🔖 Week 1: Linear Data Structures Basics
Day 1: Arrays and Lists
• Learn: Python lists, slicing, iteration, built-in functions
• Practice: Searching, Insertion, Deletion
• Platform: LeetCode Easy Array problems
Day 2: Strings
• Learn: String immutability, methods, slicing
• Practice: Palindrome, Anagram, Substrings
• Platform: LeetCode Strings category
Day 3: Linked List - Singly
• Learn: Custom implementation, insertion, traversal
• Practice: Reverse linked list, detect cycle
Day 4: Doubly & Circular Linked List
• Learn: Forward/backward traversal
• Practice: Implement DLL, find middle, rotate list
Day 5: Stack (LIFO)
• Learn: Using list/deque
• Practice: Balanced parentheses, next greater element
Day 6: Queue (FIFO)
• Learn: Using deque and queue.Queue
• Practice: Circular queue, sliding window
Day 7: Deque and Wrap-Up
• Learn: Use deque from collections
• Practice: Front/rear operations, palindrome checker
• Revise all week’s concepts with 3-5 problems/day
1
🔖 Week 2: Hashing, Sets, and Recursion
Day 8: Hash Table
• Learn: Dict implementation, hashing basics
• Practice: Two Sum, group anagrams, isomorphic strings
Day 9: Set
• Learn: Set operations
• Practice: Unique elements, union/intersection
Day 10: Recursion Basics
• Learn: Call stack, base and recursive cases
• Practice: Factorial, Fibonacci, string permutations
Day 11: Recursion Advanced
• Practice: Subsets, combinations, backtracking intro
Day 12–13: Practice Days
• Solve 10–15 problems using Hash Tables, Recursion
Day 14: Weekly Mock Test
• 2-hour test: Arrays, Strings, Recursion, Stacks, Queues
🔖 Week 3: Trees and Heaps
Day 15: Tree Basics
• Learn: Binary Tree, Traversals (Inorder, Preorder, Postorder)
• Practice: Height, leaf count, mirror tree
Day 16: BST – Binary Search Tree
• Learn: Insertion, deletion, search
• Practice: Validate BST, kth smallest/largest element
Day 17: AVL / Balanced Tree Concepts
• Learn: Rotations, height balance
• Practice: Implement AVL or review from GitHub
2
Day 18: Heap (Min/Max)
• Learn: heapq module, heapify
• Practice: Find Kth smallest/largest, top K elements
Day 19–20: Tree & Heap Problems
• Practice: 8–10 mixed problems
Day 21: Mock Test
• Trees, Heaps, BST – 3 questions
🔖 Week 4: Graphs, Tries, Advanced Topics
Day 22: Graph Basics
• Learn: Representation – Adjacency List/Matrix
• Practice: DFS, BFS traversal
Day 23: Graph Problems
• Practice: Detect cycle, connected components
Day 24: Dijkstra & Topological Sort
• Learn: PriorityQueue in Python, shortest path
• Practice: Topo Sort, Course Schedule
Day 25: Trie (Prefix Tree)
• Learn: Insert, Search
• Practice: Auto-complete, word search
Day 26: Disjoint Set (DSU)
• Learn: Union by rank, path compression
• Practice: Graph connectivity problems
Day 27: Segment Tree / BIT
• Overview only; implement basic range sum query
Day 28: Full Mock Interview
• 1 Easy, 2 Medium, 1 Hard Problem
• Time: 90 min
3
Day 29: Revision Day
• Pick 2 weak areas and solve 5 problems each
Day 30: Final Test + Reflection
• 4 problems from any topic
• Review performance and make revision notes
🚀 Bonus Tips:
• Use visualgo.net to visualize data structures.
• Maintain a GitHub repo to push your solutions.
• Practice daily on LeetCode or HackerRank.
• Use ChatGPT or Gemini to review code or ask for optimization tips.
📅 Printable Version Ready – You can now download, print, or export this document as needed.