# Recursion

> ML Prep practice set.

- Stable ID: `recursion`
- Area: programming
- Timebox: 45 minutes

Practice base cases, call traces, and recursive decomposition.

## Instructions

1. Write the base case before the recursive step.
2. Trace one nontrivial input by hand.

## Ordered items

1. [Recursive power finger exercise](https://mlprep.iwase.dev/item/mit-6-100l-finger-15/?set=recursion) — `mit-6-100l-finger-15` (easy, 7 min)
2. [Recursive flattening finger exercise](https://mlprep.iwase.dev/item/mit-6-100l-finger-16/?set=recursion) — `mit-6-100l-finger-16` (medium, 10 min)
3. [Number of Islands](https://mlprep.iwase.dev/item/leetcode-200-number-of-islands/?set=recursion) — `leetcode-200-number-of-islands` (medium, 25 min)

## Completion

Implement each recursive function without slicing or hidden global state.
