Stacks & Queues
Learn LIFO and FIFO data structures
Stacks follow Last-In-First-Out (LIFO) principle, while Queues follow First-In-First-Out (FIFO). These abstract data types are crucial for managing data in specific orders and have numerous real-world applications.
Key Concepts
- Stack: LIFO - Last element added is first removed
- Queue: FIFO - First element added is first removed
- Common operations: Push, Pop, Peek in O(1)
- Used in recursion, parsing, BFS/DFS algorithms
- Variants: Priority Queue, Deque, Circular Queue
Problems
Valid Parentheses
EasySoonCheck if string has valid bracket combinations
StackString
Min Stack
MediumSoonDesign stack with constant time min operation
StackDesign
Daily Temperatures
MediumSoonFind next warmer temperature for each day
Monotonic Stack
Implement Queue using Stacks
EasySoonBuild FIFO queue using two stacks
StackQueueDesign
Largest Rectangle in Histogram
HardSoonFind largest rectangle area in histogram
Monotonic StackArray