Data Structures & Algorithms
A comprehensive, mentor-led journey from fundamentals to advanced topics with a focus on interview preparation and problem-solving mastery.
🎯 Focus: Interview Prep & Fundamentals
☕ Important Java Concepts for DSA
- Java Basics – Variables, Data Types, Loops, Conditionals
- OOP Concepts – Classes, Objects, Inheritance, Polymorphism
- Memory Management – Stack vs Heap, Garbage Collection
- Collections Framework – List, Set, Map, Queue interfaces
- Wrapper Classes & Autoboxing
- Comparators & Sorting
- Exception Handling
⏱️ Complexity Analysis
- Big-O Notation – Time and Space Complexity
- Analyzing Loops and Recursion
- Amortized Analysis
- Focus on time-efficient problem-solving
📦 Arrays
- Theory – Fixed-size containers, Index-based access
- Kadane's Algorithm
- Sliding Window Maximum
- Two Pointers Technique
- Merge Intervals
🔗 Linked Lists
- Theory – Singly, Doubly, and Circular Linked Lists
- Reverse a Linked List
- Detect Loop (Floyd's Cycle Detection)
- Merge K Sorted Lists
- Find Intersection Point
📚 Stacks and Queues
- Theory – LIFO and FIFO data structures
- Next Greater Element
- Min Stack Implementation
- Valid Parentheses
- LRU Cache
- Queue using Stacks
🌳 Trees
- Theory – Binary Trees, BSTs, Tree Traversals
- Diameter of a Tree
- Lowest Common Ancestor
- Vertical Order Traversal
- Serialize/Deserialize Tree
🔠 Trie (Advanced Trees)
- Theory – Prefix Trees for efficient string operations
- Insert and Search Word
- Word Break Problem
- AutoComplete System
🔺 Heaps
- Theory – Min Heap, Max Heap, Priority Queue
- K Largest Elements
- Median in Data Stream
- Merge K Sorted Arrays
🧩 Hash Tables
- Theory – Hashing, Collision Resolution, HashMap
- Two Sum Problem
- Group Anagrams
- Subarray Sum equals K
- Longest Consecutive Sequence
⚙️ Algorithmic Paradigms
- Searching & Sorting: Binary Search, Merge Sort, Quick Sort
- Divide & Conquer: Maximum Subarray, Binary Search variants
- Greedy Algorithms: Activity Selection, Fractional Knapsack, Huffman Encoding
- Dynamic Programming: 0/1 Knapsack, LCS, Matrix Chain, Edit Distance, Coin Change
- Recursion & Backtracking: Subsets, Permutations, N-Queens, Sudoku Solver
🌐 Graph Algorithms
- Theory – Graph Representations, BFS, DFS
- Detect Cycle (Directed/Undirected)
- Topological Sort
- Dijkstra's Shortest Path Algorithm
- Union-Find (Disjoint Set)
- Kruskal's & Prim's Algorithms
🔄 Coding Patterns
- Sliding Window Pattern
- Two Pointers Pattern
- Fast and Slow Pointers
- Merge Intervals Pattern
- Top K Elements Pattern
- Backtracking Patterns
- Dynamic Programming Templates