Algorithm visualizations can be accessed through links in the navigation toolbar. Each visualization is accompanied by the source code of the algorithm, implemented in Javascript.
To start/stop the algorithm or to adjust its speed, use the buttons in the "General Controls" section. With these controls you can even step through the visualization line-by-line.
The small raptor heads are clickable. When clicked they expand to display additional comments and observations about what is going on.
Clever girl!
Seeing is believing
Datastructure used for performing prefix sums and updates on a dynamic array in logarithmic time.
Converting between representing a polynomial in terms of coefficients to a representation in terms of values at roots of unity.
Transforming an arbitrary tree into a tree where the path from any leaf node to the parent node crosses at most a logarithmic number of parents.
Sorting a sequence in amortized O(n log n) time by means of a divide and conquer approach. A pivot is chosen in the sequence and the left and right subsequences are sorted.
Datastructure used to keep track of multiple disjoint sets and for performing operations like merging sets and looking up which if two elements share a set, both in logarithmic time.