DSA Roadmap
DSA Roadmap
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Day 5: 2D Arrays
Focus Areas:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
1. Easy: Implement Quick Sort - Basic implementation
2. Easy: Sort Array By Parity - Partition application
3. Medium: Kth Largest Element in an Array - Quickselect
4. Medium: Top K Frequent Elements - Counting + sorting
5. Hard: Maximum Gap - Linear time sorting
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Backtracking paradigm
State space tree exploration
Decision making and undoing
Practice Problems:
Practice Problems:
1. Easy: Sum of All Subset XOR Totals - Subsets with operation
2. Easy: Binary Tree Paths - Path enumeration
3. Medium: Combination Sum - Sum combinations
4. Medium: Word Search - Grid search with backtracking
5. Hard: Sudoku Solver - Constraint satisfaction
Tower of Hanoi
Generating balanced parentheses
Path finding problems
Practice Problems:
Practice Problems:
Stack implementation
Push, pop, peek operations
Stack applications
Practice Problems:
Balanced expressions
Next/previous greater/smaller element
Stack in algorithm design
Practice Problems:
Practice Problems:
Practice Problems:
1. Easy: Moving Average from Data Stream - Queue for sliding window
2. Easy: Implement Stack using Queues - Queue application
3. Medium: Design Front Middle Back Queue - Complex queue operations
4. Medium: Shortest Path in Binary Matrix - BFS with queue
5. Hard: Sliding Window Maximum - Deque optimization
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Tree encoding/decoding
Level order serialization
Preorder serialization
Practice Problems:
Zigzag traversal
Boundary traversal
Vertical order traversal
Practice Problems:
1. Easy: Average of Levels in Binary Tree - Level traversal
2. Easy: Minimum Distance Between BST Nodes - Inorder traversal
3. Medium: Binary Tree Zigzag Level Order Traversal - Modified BFS
4. Medium: Vertical Order Traversal of a Binary Tree - Complex traversal
5. Hard: Binary Tree Cameras - Postorder application
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
Practice Problems:
1. Easy: Find the City With the Smallest Number of Neighbors - Floyd-Warshall
2. Easy: Path With Minimum Effort - Dijkstra
3. Medium: Network Delay Time - Dijkstra/Bellman-Ford
4. Medium: Cheapest Flights Within K Stops - Modified Bellman-Ford
5. Hard: Path With Maximum Minimum Value - Dijkstra variant
Prim's algorithm
Kruskal's algorithm
Union-Find data structure
Practice Problems:
Topological sort
Strongly connected components
Bipartite graphs
Practice Problems:
Practice Problems:
Autocomplete systems
Spell checkers
Word search optimizations
Practice Problems:
Practice Problems:
Interval scheduling
Huffman coding
Activity selection
Practice Problems:
Practice Problems:
Linear DP problems
State transitions
Optimization problems
Practice Problems:
1. Easy: Fibonacci Number - Classic DP
2. Easy: Divisor Game - Game theory DP
3. Medium: Longest Increasing Subsequence - LIS problem
4. Medium: Decode Ways - String decoding
5. Hard: Best Time to Buy and Sell Stock III - State machine DP
Matrix DP problems
Grid-based dynamic programming
Path problems
Practice Problems:
Interval DP
Knapsack problems
State compression DP
Practice Problems:
Topological sorting
Strongly connected components
Network flow algorithms
Practice Problems:
Union-Find implementation
Path compression and rank optimization
Applications in graph problems
Practice Problems:
Practice Problems:
Practice Problems: