# Data Structures

> ML Prep practice set.

- Stable ID: `data-structures`
- Area: programming
- Timebox: 130 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. [Valid Parentheses](https://mlprep.iwase.dev/item/leetcode-20-valid-parentheses/?set=data-structures) — `leetcode-20-valid-parentheses` (easy, 12 min)
2. [Kth Largest Element in an Array](https://mlprep.iwase.dev/item/leetcode-215-kth-largest/?set=data-structures) — `leetcode-215-kth-largest` (medium, 20 min)
3. [Binary Search](https://mlprep.iwase.dev/item/leetcode-704-binary-search/?set=data-structures) — `leetcode-704-binary-search` (easy, 10 min)
4. [Open the Lock](https://mlprep.iwase.dev/item/leetcode-752-open-the-lock/?set=data-structures) — `leetcode-752-open-the-lock` (medium, 25 min)
5. [Number of Islands](https://mlprep.iwase.dev/item/leetcode-200-number-of-islands/?set=data-structures) — `leetcode-200-number-of-islands` (medium, 25 min)
6. [Stack subclass implementation](https://mlprep.iwase.dev/item/mit-6-100l-finger-19/?set=data-structures) — `mit-6-100l-finger-19` (medium, 15 min)
7. [Dictionary selection finger exercise](https://mlprep.iwase.dev/item/mit-6-100l-finger-14/?set=data-structures) — `mit-6-100l-finger-14` (easy, 10 min)

## Completion

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

## Next recommended practice

- [Recursion](https://mlprep.iwase.dev/set/recursion.md)
