RoadmapPhase 2 — Core New Skills
DSA Intermediate
Level up DSA: Linked Lists, Stacks, Queues, Trees, Hashing, Heaps, Recursion & Backtracking.
Overview
In Phase 2, Data Structures and Algorithms move beyond linear arrays into pointers, tree traversals, hash table internals, priority queues, and recursive search spaces. Mastering these data structures is vital for medium-to-hard interview problems and optimal system design decisions.
Tip: Solve problems in Java using the standard Java Collections Framework (
LinkedList,ArrayDeque,PriorityQueue,HashMap,TreeSet). Always state time and space complexity before writing your code.
Linked Lists
- Singly & Doubly linked list — implementation
- Reverse a linked list (iterative + recursive)
- Detect cycle — Floyd's algorithm
- Merge two sorted lists
- Find middle node (slow/fast pointer)
- Practice: 10 problems
Stacks & Queues
- Stack — array & linked list implementation
- Valid parentheses, next greater element
- Min stack, implement queue using stacks
- Monotonic stack pattern
- Practice: 10 problems
Trees
- Binary tree — traversals (inorder, preorder, postorder, level-order)
- BST — insert, delete, search, validate BST
- Height, diameter, balanced check, mirror
- Lowest Common Ancestor (LCA)
- Views — left, right, top, bottom view
- Practice: 20 problems
Hashing
- HashMap internals — how it works
- Two-sum, group anagrams, subarray sum = K
- Frequency counting patterns
- Longest substring without repeating characters
- Practice: 15 problems
Heaps / Priority Queue
- Min-heap, Max-heap — how they work
-
PriorityQueuein Java - Top-K elements, Kth largest/smallest
- Merge K sorted lists
- Median from data stream
- Practice: 10 problems
Recursion & Backtracking
Last updated on August 21, 2026