Follow every step
Pause, step forward and watch what the algorithm looks at: which two values it compares, what it moves, where the pivot is, which cell a search visits next.
Algorithms & data structures
Every part is worked out in Python and drawn step by step in the browser, with the real numbers: how many comparisons, how many writes, how much work.
Built by Jarl Lindquist to understand these properly, not just to pass an exam: jarllindquist.com
Pause, step forward and watch what the algorithm looks at: which two values it compares, what it moves, where the pivot is, which cell a search visits next.
Not just O(n log n) in a table: the exact comparisons and writes of your run, and a chart of how the work grows as the list gets longer.
Let two sorts race on the same numbers, run four pathfinders on the same maze, or put the same keys in two kinds of hash table.
Type your own numbers, words and text, draw walls and cells. Nearly sorted lists, two words that differ by one letter, an emoji: try the cases that make algorithms struggle.
Ten sorting algorithms, a race between two, a Big-O chart of how their work grows, and binary versus linear search.
A stack, a queue, a linked list and an LRU cache, a binary search tree, an AVL tree that balances itself with tree traversals, and a hash table with collisions, probing and resizing.
Edit distance and optimal search trees with dynamic programming, Huffman coding, how text and numbers become bytes, Bloom filters, SHA-256 with its avalanche effect, and a disk being defragmented.
BFS, DFS, Dijkstra and A* on a grid you draw, mazes dug out three ways, Kruskal's minimum spanning tree, and Conway's Game of Life.
Machine learning and deep learning from the ground up, in plain Python: how a model is validated, and, part by part, regression, classification, clustering and neural networks.
What a set of numbers looks like and how to describe it honestly: distributions and outliers, correlation and hidden causes, the right chart, and cleaning messy data.
The tools around the code: git in a sandbox where you can try every command, an HTTP playground, how a language model calls tools through MCP, SQL against a real database, and Docker containers.
Four languages · light and dark mode · works with the keyboard · stands still for those who prefer reduced motion · readable without JavaScript.