DSA 3-Month Study Plan (Java Version)
MONTH 1 — FOUNDATIONS
Week 1: Time Complexity + Arrays
- Big-O basics
- Binary Search
- Prefix Sum
- Kadane’s Algorithm
- Sliding Window
Week 2: Strings + Hashing
- Two pointers
- HashMap / HashSet patterns
- Anagrams
- Frequency problems
- Pattern matching intro
Week 3: Linked List
- Reverse list
- Cycle detection
- Merge lists
- Palindrome list
- LRU cache concept
Week 4: Stack + Queue
- Valid parentheses
- Next greater element
- Monotonic stack
- Queue, Deque
- Min/max stack
MONTH 2 — INTERMEDIATE
Week 5: Trees
- DFS/BFS traversal
- Height, Diameter
- LCA
- Build tree from inorder/preorder
Week 6: BST + Heap
- BST operations
- PriorityQueue
- K largest
- Heapify
Week 7: Graphs
- BFS, DFS
- Cycle detection
- Connected components
Week 8: Shortest Path + MST
- Dijkstra
- Bellman-Ford
- Floyd-Warshall
- Kruskal/Prim
MONTH 3 — ADVANCED
Week 9: Backtracking
- Subsets
- Permutations
- N Queens
- Sudoku solver
Week 10: Basic DP
- Fibonacci
- Climbing stairs
- House Robber
- Coin change
Week 11: DP on Strings
- LCS
- Edit distance
- Palindromic subsequence
- Partition DP
Week 12: Advanced Topics
- Trie
- Segment tree
- Fenwick tree
- Union-find
- Bit manipulation basics
DAILY STUDY SCHEDULE (3 HOURS)
- 20 min: Theory
- 20 min: 1 video
- 1 hour: 2–3 problems
- 30 min: Re-attempt unsolved
- 30 min: Notes + revision
- 20 min: Mock interview
LEETCODE LISTS
Beginner (Arrays, Strings, Hashing, LinkedList, Stack/Queue)
Intermediate (Trees, Graphs, DP, Backtracking)
Advanced (Trie, Segment Tree, BIT, Union-Find)
JAVA DSA ROADMAP
Use:
- ArrayList
- HashMap, HashSet
- Stack, Queue, Deque
- PriorityQueue
- TreeMap
- [Link]
Java is recommended for interviews due to:
- Strong typing
- Faster execution
- Rich built-in DS