■ Java + DSA Roadmap (Beginner → Advanced)
Stage 1: Core Java Foundations
- Setup Java (JDK + IDE)
- Variables, loops, conditionals
- Arrays & Strings
- Functions
- OOP: Classes, Objects, Inheritance, Polymorphism
Stage 2: Data Structures Basics
- Arrays, Prefix sum, Subarray (Kadane’s)
- Two Pointers, Sliding Window, Binary Search
- String manipulation and substring problems
Stage 3: Collections Framework
- List (ArrayList, LinkedList)
- Set (HashSet, TreeSet)
- Map (HashMap, TreeMap)
- Queue & Stack (Stack, Deque)
- Monotonic Stack (Increasing/Decreasing)
Stage 4: Recursion & Backtracking
- Base & Recursive Cases
- Factorial, Fibonacci, Subsequence generation
- Backtracking: N-Queens, Sudoku, Rat in a maze
Stage 5: Linked List
- Singly, Doubly, Circular Linked List
- Reversal, Cycle detection, Merge two lists
Stage 6: Stack and Queue Advanced
- Next Greater Element, Stock Span
- Valid Parentheses, Sliding Window Maximum
Stage 7: Trees
- Binary Tree Traversals (Inorder, Preorder, Postorder)
- BFS / DFS, Height, Diameter, LCA
- BST Operations (Insert, Delete, Search)
Stage 8: Graphs
- Adjacency List / Matrix
- BFS, DFS, Topological Sort
- Dijkstra, Kruskal, Prim
- Cycle detection, Connected Components
Stage 9: Dynamic Programming
- Recursion → Memoization → Tabulation
- Fibonacci, Knapsack, Subset Sum
- LCS, LIS, Coin Change, Matrix Path
Stage 10: Competitive Concepts
- Greedy, Prefix/Suffix, Binary Search on Answer
- Bit Manipulation, Modular Arithmetic
Recommended Practice Platforms:
- LeetCode
- GeeksforGeeks
- CodeStudio
- HackerRank
- Striver’s A2Z DSA Sheet