Empirical complexity

Every other tool here shows one run of one algorithm. This one shows the shape of the cost curve, measured rather than asserted: run an algorithm at a ladder of input sizes, count its operations, and plot the measured counts against the bound it is supposed to obey. It is the tool that answers “is this actually O(n log n)?” with a picture and a number instead of a claim — and that is willing to report that the claim it was handed is not tight, which is what happens on the naive Fibonacci page.

The counts are operations, not seconds. That is deliberate: an operation count is the same on every machine and in every browser, so a link reproduces a measurement exactly, where a timing would reproduce a mood. It also means none of this says anything about the constant factors that decide which of two algorithms in the same class is actually faster.

10 subjects

Nine of these ten are also step-by-step pages in AlgoLab andRecursion, which show how they work where this one shows how they grow. Traversal and shortest paths live in Graph algorithms, tables inDynamic programming, and pattern matching in String matching.