DSA USING JAVA - RECOMMENDED LEARNING PATH
PHASE 1: DSA FOUNDATION
1. Complexity Analysis
• What is an Algorithm?
• Time Complexity
• Space Complexity
• Big O Notation
• Omega Notation
• Theta Notation
• Best, Average, Worst Cases
• Complexity Comparison
PHASE 2: ARRAYS
2. Arrays
• 1D Arrays
• 2D Arrays
• Traversal
• Insertion
• Deletion
• Searching
• Array Rotation
• Prefix Sum
• Sliding Window
• Kadane's Algorithm
Practice Problems
• Largest Element
• Second Largest Element
• Remove Duplicates
• Move Zeros
• Maximum Subarray Sum
PHASE 3: STRINGS
3. Strings
• String Class
1
• StringBuilder
• Character Arrays
• String Manipulation
• Palindrome
• Anagram
• Frequency Counting
• String Compression
Practice Problems
• Reverse String
• Longest Common Prefix
• Valid Palindrome
• Count Characters
PHASE 4: RECURSION
4. Recursion
• Function Call Stack
• Base Case
• Recursive Case
• Tail Recursion
• Head Recursion
• Tree Recursion
Practice Problems
• Factorial
• Fibonacci
• Sum of Digits
• Reverse Number
• Power Calculation
PHASE 5: LINKED LIST
5. Linked List
• Singly Linked List
• Doubly Linked List
• Circular Linked List
• Insertion
• Deletion
• Traversal
• Reversal
2
Practice Problems
• Reverse Linked List
• Middle Node
• Detect Loop
• Merge Lists
PHASE 6: STACK
6. Stack
• Stack Basics
• Stack using Array
• Stack using Linked List
• Java Stack Class
Applications
• Parenthesis Matching
• Infix to Postfix
• Prefix/Postfix Evaluation
• Next Greater Element
PHASE 7: QUEUE
7. Queue
• Queue Basics
• Circular Queue
• Deque
• Priority Queue
• Queue using Array
• Queue using Linked List
Applications
• CPU Scheduling
• BFS Traversal
• Task Processing
3
PHASE 8: HASHING
8. Hashing
• Hash Functions
• Collision Handling
• HashMap
• HashSet
• Hashtable
Practice Problems
• Frequency Counter
• First Non-Repeated Character
• Duplicate Detection
PHASE 9: SEARCHING
9. Searching Algorithms
• Linear Search
• Binary Search
• Lower Bound
• Upper Bound
• Binary Search on Answer
Practice Problems
• Search Insert Position
• Peak Element
• Square Root using Binary Search
PHASE 10: SORTING
10. Sorting Algorithms
Basic Sorting
• Bubble Sort
• Selection Sort
• Insertion Sort
Advanced Sorting
• Merge Sort
4
• Quick Sort
• Heap Sort
Non-Comparison Sorting
• Counting Sort
• Radix Sort
• Bucket Sort
PHASE 11: TREES
11. Trees
• Tree Basics
• Binary Tree
• Binary Search Tree
Traversals
• Inorder
• Preorder
• Postorder
• Level Order
Problems
• Height
• Diameter
• LCA
• Balanced Tree
PHASE 12: HEAP
12. Heap
• Min Heap
• Max Heap
• Heapify
• Priority Queue
• Heap Sort
Problems
• K Largest Elements
• K Smallest Elements
5
• Top K Frequent Elements
PHASE 13: GRAPHS
13. Graphs
• Graph Representation
• Adjacency Matrix
• Adjacency List
Traversals
• BFS
• DFS
Problems
• Connected Components
• Cycle Detection
• Bipartite Graph
PHASE 14: GREEDY ALGORITHMS
14. Greedy
• Activity Selection
• Fractional Knapsack
• Job Sequencing
• Huffman Coding
Interview Problems
• Gas Station
• Jump Game
• Candy Distribution
PHASE 15: BACKTRACKING
15. Backtracking
• Decision Trees
• Constraint Solving
6
Problems
• N Queens
• Sudoku Solver
• Rat in Maze
• Permutations
• Combinations
PHASE 16: DYNAMIC PROGRAMMING
16. Dynamic Programming
Fundamentals
• Memoization
• Tabulation
Classic Problems
• Fibonacci
• Climbing Stairs
• Knapsack
• LCS
• LIS
• Matrix Chain Multiplication
Advanced DP
• DP on Trees
• DP on Graphs
PHASE 17: ADVANCED DSA
17. Advanced Data Structures
• AVL Tree
• Red Black Tree
• Trie
• Segment Tree
• Fenwick Tree
• Disjoint Set Union (DSU)
• Skip List
• LRU Cache
7
PHASE 18: COMPETITIVE PROGRAMMING
18. Competitive Programming
Bit Manipulation
• AND
• OR
• XOR
• Left Shift
• Right Shift
Number Theory
• Prime Numbers
• GCD
• LCM
• Sieve of Eratosthenes
• Modular Arithmetic
Combinatorics
• Permutations
• Combinations
• Pascal Triangle
PHASE 19: INTERVIEW PREPARATION
19. Placement & Product Company Preparation
Must Solve
• Arrays: 100 Problems
• Strings: 75 Problems
• Linked List: 50 Problems
• Stack & Queue: 50 Problems
• Trees: 100 Problems
• Graphs: 75 Problems
• DP: 75 Problems
Recommended Sheets
• Blind 75
• Top 150 Interview Questions
• Striver A2Z DSA Sheet
• NeetCode Roadmap
8
• GFG Interview Series
JAVA COLLECTIONS REQUIRED FOR DSA
• ArrayList
• LinkedList
• Vector
• Stack
• Queue
• PriorityQueue
• HashMap
• LinkedHashMap
• TreeMap
• HashSet
• LinkedHashSet
• TreeSet
• Comparable
• Comparator
FINAL CAPSTONE
Implement From Scratch:
1. Dynamic Array
2. Linked List
3. Stack
4. Queue
5. HashMap
6. Binary Search Tree
7. Heap
8. Graph
9. Trie
10. LRU Cache
This stage makes you interview-ready for most Java Full Stack and Product-Based Company roles.