Java DSA
Java DSA
🔥
💰 Goal: Crack Product-Based Companies like Google, Amazon, Microsoft, etc.
📜 Language: Java
Format: Topic-by-topic (no coding)
🧠
🧩 Variables, Data Types, Type Casting
🌀
🎒
Operators, Control Flow (if, switch, loops)
Functions, Recursion
📦
🧵
OOP Principles (Encapsulation, Inheritance, Polymorphism, Abstraction)
Java Collections (List, Set, Map)
🔄 Exception Handling
I/O Basics (Scanner, BufferedReader, File Handling)
🔁
📊
Worst / Best / Average Case
Analyzing Nested Loops
🧠 Complexity of Recursion
Space Optimization Techniques
🔢
➕ 1D & 2D Arrays
⚖️
🪟
Prefix Sum, Suffix Sum
Two Pointers
🧭
♻️
Sliding Window
Binary Search on Arrays
🔁
📦 Bubble, Selection, Insertion
🧱
⏳
Merge Sort, Quick Sort
Heap Sort
🔍
🎯
Counting Sort, Bucket Sort
Binary Search Variants
🔁
🧠 Recursion Tree, Stack Space
📄
🔁 Singly, Doubly, and Circular LL
🚪
➕
Reversing a List
Detect & Remove Cycle (Floyd’s Algo)
🧠 Add Numbers as LL
📚
🧠 Stack using Array/LL
🔁
🪟
Next Greater Element
Valid Parentheses
⏳
🚆
Monotonic Stack
Queue using Array/LL
🌀 Circular Queue
🌲
📏 Tree Traversals (Inorder, Preorder, Postorder, Level Order)
🔍
🧠
Height, Diameter, Balanced Tree
Find Element, Path Sum, Mirror Tree
🧮
🔄
Lowest Common Ancestor (LCA)
BST Operations (Insert/Delete/Search)
🏗
⛏ Min-Heap, Max-Heap
🧠
🎲
Build Heap, Heapify
Top K Elements
🔁
🧭
K Closest Numbers
Median in Data Stream
Java’s PriorityQueue Class
🔐 Phase 9: Hashing
📦
🧠 HashMap, HashSet (Java Collections)
📊
🎯
Frequency Count
Count Distinct Elements
🧱
🔁 Representation (Adjacency List, Matrix)
🔄
📦
DFS, BFS Traversals
Cycle Detection (Directed & Undirected)
🌉
⛓ Shortest Path (Dijkstra, Bellman-Ford, Floyd-Warshall)
🪜
🎒 Recursion → Memoization → Tabulation
🔁
🧵
0/1 Knapsack + Variants
Fibonacci, Climbing Stairs, Grid Path
➕
🧮
Longest Common Subsequence (LCS)
Longest Increasing Subsequence (LIS)
🎭
🧩
Palindromic Substrings
DP on Subsets, Strings, Grids, Trees
🔢
🧠 AND, OR, XOR, NOT
🔁
🔍
Power of Two / Four
Count Set Bits
🎒
💸 Activity Selection
🧠
🔄
Fractional Knapsack
Huffman Coding
🧾 Gas Station
🪟
⚖️ Sliding Window
🔁
🔄
Two Pointers
Fast & Slow Pointers
💭
📌
Prefix Sum
Recursion Tree & State Diagram
🎯
🧭
State Compression in DP
Bitmasking + DP
🧪
🧩 300+ DSA Problems (Leetcode, GFG, InterviewBit)
🎯
🧱
Company-specific Problems
Blind 75 / Striver’s DSA Sheet
🧠
📂
System Design Basics (for 10LPA+ roles)
Mock Interviews
🏁 Final Tips
✅
🧠 Focus on mastery, not speed
📅
🎯
Revise concepts frequently
Practice 2–3 problems/day