06
Data Structure Cheat Sheet
| NEED | USE | WHY |
|---|---|---|
| Fast lookup | set / dict | O(1) average |
| FIFO queue | collections.deque | O(1) at both ends |
| Priority queue | heapq | O(log N) insert/pop |
| Counting | Counter | Built-in most_common |
| Grouping | defaultdict(list) | No existence check needed |
| Sliding window | deque(maxlen=k) | Auto eviction |
| Cache | functools.lru_cache | Memoize pure functions |
| Immutable record | @dataclass(frozen=True) | Hashable + clear schema |