Applied algorithms

Once by the book.
Once for a problem you recognize.

A misspelled name still finds its match. A route bends around a wall. An image gets narrower along a winding path of pixels. Explore the algorithms that make these things possible, the ideas they build on, and the limits of their answers.

Starting with TypeScript, Go, and Python Go is the default comparison. Python is also available.

Part of the DSA family, starting from a specific problem. Meet the building blocks in Data structures & algorithms →

Four ideas to start with

A few favorites from the catalog: a familiar work problem, a path you can draw, a surprising probability trick, and an image you can watch change. Browse their lesson ideas below.

34 articles

Ready articles Showing lessons that are ready to explore. Choose Drafting articles for works in progress, or All topics for the full catalog.

Text, names, and changes

Find what almost matches, what changed, and where a whole set of words appears.

Routes and connections

Find a way through, connect a whole network, or follow how influence flows.

Matching and making choices

Make the objective explicit: total cost, stable preferences, or value within a limit.

Chance and live data

Shuffle fairly, sample by weight, and summarize data that keeps arriving.

Images, maps, and geometry

Make each decision visible in a line, a handful of pixels, or a changing image.

Smaller data, steadier systems

Spend fewer bits, place keys predictably, and control how quickly work is admitted.