Understand algorithms, step by step
Interactive visualizations, real-world usage context, and code examples in Go, TypeScript, and Rust.
Featured algorithms
View all →Binary Search
LiveFind an element in a sorted array by halving the search space each step.
Merge Sort
LiveDivide in half, sort each half recursively, merge back.
Dijkstra's Algorithm
LiveFind shortest paths from a source node using a priority queue.
Fibonacci (DP)
LiveCompute Fibonacci numbers efficiently using memoization or tabulation.
Quick Sort
LivePick a pivot, partition around it, recursively sort partitions.
Breadth-First Search
LiveExplore all neighbors at the current depth before going deeper.
Real-world use cases
Where these algorithms actually run in production systems.
- →B-tree index scanBinary Search
- →Sort result setsMerge Sort
- →Full-text indexTrie (Prefix Tree)
- →Document key lookupHash Table
- →Text search indexTrie (Prefix Tree)
- →Aggregation sortMerge Sort
- →O(1) key/value storeHash Table
- →Membership testBloom Filter
- →git bisect bug huntBinary Search
- →git diff / mergeLongest Common Subsequence
- →Shortest routeDijkstra's Algorithm
- →Turn-by-turn navigationA* Search
- →Install order resolutionTopological Sort
- →Tree-shaking dead codeDepth-First Search
- →GZIP / ZIP encodingHuffman Coding
- →Delta / diff compressionLongest Common Subsequence
- →BGP path propagationBellman-Ford
- →Spanning tree protocolKruskal's Algorithm
Everything you need to understand an algorithm
Step-by-step animation
Play, pause, step forward/back. Control the speed. Watch variables update in real time.
Real-world context
Where is this actually used? PostgreSQL B-tree indexes, git bisect, Linux kernel — not just textbook examples.
Code in 3 languages
Production-quality implementations in TypeScript, Go, and Rust — with idiomatic patterns for each.
Complexity analysis
Best, average, worst-case time and space complexity with color-coded ratings.
Algorithm properties
Is it stable? In-place? Online? Everything you need to know before picking the right tool.
Related algorithms
Natural learning paths. See what to explore next based on what you just learned.