Algorithms Toolkit
Computer science fundamentals for practicing engineers — algorithm complexity, performance analysis, and scalability, with interactive tools and practical examples. All run entirely in your browser.
How these fit together
Big O Calculator turns the abstract notation into real operation counts — enter an input size and see exactly how O(1), O(log n), O(n), O(n log n), and O(n²) compare at that size, as a log-scale chart and an exact-value table side by side. Complexity Visualizer goes further — plots those five classes plus O(2ⁿ) as continuous growth curves on an interactive chart that rescales as you drag the input size up, so you watch the gap between them widen instead of just reading a table. For where those growth rates actually come from, Sorting Algorithm Visualizer runs six real sorting algorithms step by step with real comparison and swap counts — including Quick Sort visibly hitting its O(n²) worst case on a sorted array instead of its usual O(n log n). Search Algorithm Visualizer puts O(n) and O(log n) side by side on the same array — Linear Search checking every element in order against Binary Search discarding half the remaining search space with each comparison. Graph Traversal Visualizer moves from arrays to graphs — Breadth-First Search and Depth-First Search exploring the same connected graph with the queue or call stack visible at every step, using the classic white/gray/black node coloring from CLRS. Shortest Path Visualizer adds weights — Dijkstra's Algorithm and Bellman-Ford computing shortest distances on the same weighted graph, including a negative-weights mode that makes Dijkstra's greedy assumption visibly fail while Bellman-Ford still gets it right. Recursion vs Iteration Visualizer makes the exponential vs linear gap visceral rather than abstract — watch a recursive call stack and an iterative loop solve Fibonacci side by side, with naive recursion still hundreds of calls deep while the loop has already finished. And once you know the operation count, Algorithm Runtime Estimator turns it into actual wall-clock time — the same O(n²) that looked fine as a formula can come out to hours or days once it's running against a real input size. For the structures these algorithms actually operate on, see the Data Structures Toolkit — starting with a real hash table, the mechanism behind the O(1) average lookups quoted throughout this page.
Big O Calculator
Compare O(1), O(log n), O(n), O(n log n), and O(n²) at real input sizes.
Complexity Visualizer
Watch O(1) through O(2ⁿ) grow apart on an interactive log-scale chart.
Sorting Algorithm Visualizer
Watch Bubble, Selection, Insertion, Merge, Quick, and Heap Sort run step by step.
Search Algorithm Visualizer
Watch Linear Search and Binary Search run step by step, with real comparison counts.
Graph Traversal Visualizer
Watch Breadth-First Search and Depth-First Search explore a graph step by step.
Shortest Path Visualizer
Watch Dijkstra's and Bellman-Ford compute shortest paths — including where Dijkstra breaks.
Recursion vs Iteration Visualizer
Watch a recursive call stack and an iterative loop solve the same problem side by side.
Algorithm Runtime Estimator
Turn a complexity class and input size into real hours, days, and years.