30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
Week 1: Arrays + Strings
Day 1: Java Arrays & Memory
Q1: Find Max in Array
Q2: Find Min in Array
Day 2: Array Traversal & Reverse
Q1: Reverse Array
Q2: Check if Sorted
Day 3: Prefix Sum
Q1: Prefix Sum Array
Q2: Kadane's Algorithm
Day 4: 2D Arrays
Q1: Matrix Transpose
Q2: Spiral Traversal
Day 5: Strings in Java
Q1: Reverse String
Q2: Palindrome Check
Day 6: StringBuilder + char[]
Q1: Count Vowels
Q2: Toggle Case
Day 7: Weekly Review
Q1: Anagram Check
Q2: Frequency of Chars
Week 2: Hashing + Two Pointers + Sliding Window
Day 8: HashMap & HashSet
Q1: Count Distinct
Q2: Frequency Map
Day 9: Set Operations
Q1: Union of Arrays
Q2: Intersection
Day 10: Two Pointer Technique
30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
Q1: Pair Sum
Q2: Three Sum
Day 11: Sliding Window Basics
Q1: Max Sum Subarray
Q2: Subarray with K Sum
Day 12: Longest Substring Concepts
Q1: Longest Non-Repeating Substring
Q2: Longest Vowel Substring
Day 13: Java Collections Recap
Q1: Top K Frequent Elements
Q2: Group Anagrams
Day 14: Weekly Review
Q1: Random Pick
Q2: Easy Sliding Window Q
Week 3: Stack + Queue + Linked List
Day 15: Stack Basics + Java Stack
Q1: Valid Parentheses
Q2: Next Greater Element
Day 16: Queue in Java
Q1: Implement Queue using Array
Q2: Circular Queue
Day 17: Stack/Queue vs Deque
Q1: Max Sliding Window (Deque)
Q2: Min Stack
Day 18: Linked List Basics
Q1: Insert Node
Q2: Delete Node
Day 19: Reverse Linked List
Q1: Recursive Reverse
Q2: Iterative Reverse
30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
Day 20: Fast and Slow Pointers
Q1: Find Middle
Q2: Detect Cycle
Day 21: Weekly Review
Q1: Merge 2 LL
Q2: Palindrome LL
Week 4: Binary Search + Sorting + Trees
Day 22: Binary Search Variants
Q1: Basic BS
Q2: First & Last Position
Day 23: BS on Answer
Q1: Square Root
Q2: Peak in Mountain Array
Day 24: Sorting Algorithms
Q1: Bubble Sort
Q2: Merge Sort
Day 25: Quick Sort + Java Sort
Q1: Quick Sort
Q2: Arrays.sort() Comparator
Day 26: Binary Trees Basics
Q1: Inorder Traversal
Q2: Preorder Traversal
Day 27: Tree Recursion
Q1: Max Depth
Q2: Diameter of Tree
Day 28: BST vs BT
Q1: Search in BST
Q2: Insert in BST
Day 29: Final Practice
Q1: Random Medium Q
30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
Q2: Random Medium Q
Day 30: Final Test
Q1: 1 Easy
Q2: 1 Medium-Hard
30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
Day 1: Graph Theory & Algorithms
- Graphs & Representation
- Types: Directed/Undirected, Weighted/Unweighted, Cyclic/Acyclic, Connected/Disconnected
- BFS & DFS in Graphs
- Topological Sort
- Spanning Tree
- Shortest Path
- Applications
- --- Algorithms ---
- Cycle Detection
- Find Shortest Path in Grid/Maze (BFS)
- Clone Graph
- Number of Islands
- Bipartite Graph Check
- Word Ladder
Day 2: Advanced Sorting Techniques
- Need for Sorting
- Advanced Sorting: Shell, Heap, Tree
- Counting Sort
- Bucket Sort
- Radix Sort
- External Sort
- Ordered/Underordered Selection
- Selection by Sorting
- Partition-based Selection
Day 3: Hashing Fundamentals
- Hashing
- ADT Hash Table
- Hash Table & Function
- Load Factor & Collisions
30-Day DSA in Java Plan (2 Questions/Day + Balanced Theory)
- Open Addressing