# Data Structures Practice

> ML preparation set.

- Stable ID: `data-structures-practice`
- Area: programming
- Kind: practice
- Timebox: 90 minutes

Select and use lists, mappings, sets, stacks, queues, heaps, and graph traversals.

## Instructions

1. State why the chosen container supports the required operation efficiently.

## Ordered items

1. [Frequency map with deterministic ties](https://mlprep.iwase.dev/item/original-py-frequency/?set=data-structures-practice) — `original-py-frequency` (8 min)
2. [Balanced delimiters with a stack](https://mlprep.iwase.dev/item/original-py-balanced/?set=data-structures-practice) — `original-py-balanced` (10 min)
3. [Keep the k largest values with a heap](https://mlprep.iwase.dev/item/original-py-heap/?set=data-structures-practice) — `original-py-heap` (7 min)
4. [Recursive binary search](https://mlprep.iwase.dev/item/original-py-binary-search/?set=data-structures-practice) — `original-py-binary-search` (10 min)
5. [Shortest unweighted distance with BFS](https://mlprep.iwase.dev/item/original-py-bfs/?set=data-structures-practice) — `original-py-bfs` (12 min)
6. [Connected component with iterative DFS](https://mlprep.iwase.dev/item/original-py-dfs/?set=data-structures-practice) — `original-py-dfs` (10 min)
7. [Dictionary selection finger exercise](https://mlprep.iwase.dev/item/mit-6-100l-finger-14/?set=data-structures-practice) — `mit-6-100l-finger-14` (10 min)

## Completion

Implement each structure-driven pattern from a blank function signature.
