legacy collection
Classical algorithms and heuristics.
The original 205 algonow lessons pair an algorithm with the heuristic that guides it. Explore the live diagrams, tested Python solutions, and complete narrations.
New puzzles focus on Python AI architecture and engineering. This collection remains available at its original lesson URLs.
all 205 legacy lessons
Sorting & Selection
Data Structures
Union-find×Union by rank with path compression
Components that only merge
puzzle 22▶ ~8 minBinary search×Halving invariant
Sorted-array lookup
puzzle 26▶ ~8 minFenwick tree×Low-bit ladders
Prefix sums under change
puzzle 30▶ ~8 minSkip list×Coin-flip level promotion
Ordered maps by lottery
puzzle 35▶ ~8 minSegment tree×Lazy propagation
Range updates
puzzle 47▶ ~8 minB-tree×High-fanout node splits
Disk-friendly ordered index
puzzle 51▶ ~8 minTrie×Shared-prefix branching
Prefix-keyed dictionary
puzzle 53▶ ~8 minInterval tree×Max-endpoint subtree pruning
Stabbing queries
puzzle 58▶ ~8 minTernary search×Two-probe interval thirds
Unimodal maximum finding
puzzle 62▶ ~8 minMo's algorithm×Sqrt block query ordering
Offline range queries
puzzle 71▶ ~8 minB+ tree×Linked-leaf range scans
Database range index
puzzle 106▶ ~8 minTreap×Random heap priorities
Ordered dictionaries, randomized
puzzle 139▶ ~8 minCuckoo hashing×Two-table eviction kicks
Worst-case-constant lookup
puzzle 163▶ ~10 minFibonacci heap×Lazy consolidation with marking
Amortized-optimal priority queue
puzzle 165▶ ~10 minAVL tree×Height-balance rotations
Strictly balanced dictionary
Graph Algorithms
A* search×Manhattan distance
Shortest paths on grid maps
puzzle 07▶ ~8 minDijkstra's algorithm×Binary heap priority queue
Nonnegative shortest paths
puzzle 15▶ ~8 minDinic's algorithm×Level-graph blocking flows
Maximum flow through a network
puzzle 21▶ ~8 minKahn's algorithm×Zero in-degree queue
Ordering dependencies
puzzle 23▶ ~8 minKruskal's algorithm×Union-find cycle test
Minimum spanning trees
puzzle 34▶ ~8 minBellman-Ford×Early-exit relaxation
Negative-edge shortest paths
puzzle 43▶ ~8 minHopcroft-Karp×Layered augmenting phases
Bipartite maximum matching
puzzle 50▶ ~8 minFloyd-Warshall×Intermediate-vertex sweep
All-pairs shortest paths
puzzle 52▶ ~8 minTarjan's SCC algorithm×Low-link stack discipline
Strongly connected components
puzzle 57▶ ~8 minEdmonds-Karp×Shortest augmenting paths
Maximum flow
puzzle 69▶ ~8 minPush-relabel×FIFO vertex selection
Maximum flow
puzzle 72▶ ~8 minHungarian algorithm×Tight-edge alternating paths
Optimal assignment
puzzle 77▶ ~8 minPrim's algorithm×Cheapest crossing edge
Minimum spanning trees
puzzle 82▶ ~8 minKarger's algorithm×Random edge contraction
Minimum cut
puzzle 98▶ ~8 minLouvain method×Greedy modularity moves
Community detection
puzzle 102▶ ~8 minJohnson's algorithm×Reweighting potentials
Sparse all-pairs shortest paths
puzzle 122▶ ~8 minContraction hierarchies×Node-importance contraction order
Continental road routing
puzzle 123▶ ~8 minBron-Kerbosch×Tomita pivoting
Maximal clique listing
puzzle 142▶ ~8 minBetweenness centrality×Brandes accumulation
Node importance
puzzle 155▶ ~9 minIDA*×Manhattan distance
Memory-bound puzzle search
puzzle 168▶ ~10 minGreedy graph coloring×DSatur saturation ordering
Vertex coloring
puzzle 198▶ ~10 minFruchterman-Reingold×Force-directed placement
Graph layout
Dynamic Programming & Combinatorics
Kadane's algorithm×Running maximum
The brightest stretch of an array
puzzle 74▶ ~8 minLongest increasing subsequence×Patience piles with binary search
Longest increasing subsequence
puzzle 81▶ ~8 minHeld-Karp×Bitmask subset states
Exact traveling salesman
puzzle 180▶ ~10 minGray code generation×Reflected binary
Subset enumeration
puzzle 206▶ ~10 minLexicographic permutations×Next-permutation algorithm
Permutation generation
Optimization & Operations Research
Simulated annealing×Geometric cooling schedule
Traveling-salesman tours
puzzle 17▶ ~8 minLRU caching×Least-recently-used eviction
Page and cache replacement
puzzle 39▶ ~8 minActivity selection×Earliest-finish-first greedy
Non-overlapping selection
puzzle 48▶ ~8 minEarliest deadline first×Dynamic deadline priority
Real-time scheduling
puzzle 67▶ ~8 minRate-monotonic scheduling×Shorter period wins
Real-time task scheduling
puzzle 73▶ ~8 minGale-Shapley×Deferred acceptance
Stable matching
puzzle 89▶ ~8 minGreedy set cover×Maximum-coverage selection
Set cover approximation
puzzle 108▶ ~8 minSecretary problem×1/e stopping rule
Optimal stopping
puzzle 117▶ ~8 minChristofides×Matching plus Euler tour
Metric TSP approximation
puzzle 131▶ ~8 minFirst fit decreasing×Descending size order
Bin packing
puzzle 135▶ ~8 minBinomial options pricing×Cox-Ross-Rubinstein lattice
Option pricing
puzzle 170▶ ~10 minBlack-Scholes×Closed-form European pricing
Option pricing
puzzle 178▶ ~10 minHill climbing×Random restarts
Local optimization
puzzle 183▶ ~10 minRound-robin scheduling×Time quantum
CPU scheduling
puzzle 185▶ ~10 minMatrix exponentiation×Binary exponentiation
Linear recurrence evaluation
puzzle 186▶ ~12 minSki rental×Break-even deterministic rule
Rent-or-buy decisions
puzzle 188▶ ~10 min2-opt×Edge-uncrossing swaps
Tour improvement
puzzle 189▶ ~10 minVickrey auction×Second-price rule
Truthful single-item auction
puzzle 204▶ ~11 minGreedy vertex cover×Maximal matching
Vertex cover 2-approximation
Search, Constraints & Games
Minimax×Alpha-beta pruning order
Adversarial game trees
puzzle 04▶ ~7 minBacktracking search×Minimum remaining values
Sudoku and constraint grids
puzzle 05▶ ~7 minBranch and bound×Fractional relaxation bound
The 0/1 knapsack
puzzle 06▶ ~8 minMonte Carlo tree search×UCB1 exploration bonus
Games too big to solve
puzzle 84▶ ~8 minDPLL×Unit propagation
Boolean satisfiability
puzzle 110▶ ~8 minAlpha-beta pruning×Iterative deepening move ordering
Game-tree search
puzzle 118▶ ~8 minKnuth's Algorithm X×Dancing links
Exact cover
puzzle 166▶ ~10 minCounterfactual regret minimization×Regret-matching updates
Imperfect-information equilibria
puzzle 171▶ ~10 minMaintaining arc consistency×AC-3 propagation
Constraint satisfaction
puzzle 175▶ ~10 minNim solving×Nimber XOR
Combinatorial game
puzzle 181▶ ~10 minTower of Hanoi×Recursive halving
Disk-transfer puzzle
Strings & Text
Knuth-Morris-Pratt×Failure-function prefixes
Needles in streaming haystacks
puzzle 25▶ ~8 minWagner-Fischer×Prefix-to-prefix table
Edit distance, witnessed
puzzle 27▶ ~8 minAho-Corasick×Failure-link automaton
Matching many patterns at once
puzzle 44▶ ~8 minBoyer-Moore×Bad-character and good-suffix rules
Substring search
puzzle 49▶ ~8 minSuffix array construction×Prefix-doubling ranks
Full-text indexing
puzzle 56▶ ~8 minSmith-Waterman×Zero-floored local scores
Local sequence alignment
puzzle 66▶ ~8 minBitap algorithm×Bitmask fuzzy states
Approximate string matching
puzzle 68▶ ~8 minSuffix tree×Ukkonen online construction
Full-text indexing
puzzle 79▶ ~8 minManacher's algorithm×Mirrored radius reuse
Longest palindromic substring
puzzle 80▶ ~8 minZ-algorithm×Z-box window reuse
Pattern preprocessing
puzzle 101▶ ~8 minRabin-Karp×Rolling hash fingerprints
Fingerprint substring search
puzzle 124▶ ~8 minMyers diff algorithm×Shortest-edit-script search
Text diffing
Computational Geometry & Topology
Graham scan×Polar-angle sorting
Convex hulls in the plane
puzzle 41▶ ~8 minClosest pair divide and conquer×Midline strip merge
Closest pair of points
puzzle 83▶ ~8 minWelzl's algorithm×Randomized incremental basis
Smallest enclosing circle
puzzle 105▶ ~8 minK-d tree×Median-split axis cycling
Nearest-neighbor search
puzzle 120▶ ~8 minBowyer-Watson×Bad-triangle cavity retriangulation
Delaunay triangulation
puzzle 146▶ ~8 minDouglas-Peucker×Max-deviation recursion
Polyline simplification
puzzle 205▶ ~10 minHidden Markov map matching×Emission-transition road probabilities
Map matching
Numerical & Scientific Computing
Gradient descent×Polyak momentum
Smooth minimization
puzzle 28▶ ~8 minSimplex method×Dantzig pivot rule
Linear programming
puzzle 31▶ ~8 minStrassen's algorithm×Seven-product block split
Fast matrix multiplication
puzzle 37▶ ~8 minFast Fourier transform×Cooley-Tukey radix-2
Spectral analysis
puzzle 45▶ ~8 minNewton's method×Tangent-line iteration
Root finding
puzzle 55▶ ~8 minKaratsuba multiplication×Three-product splitting
Big-integer multiplication
puzzle 65▶ ~8 minToom-Cook multiplication×Five-point interpolation
Big-integer multiplication
puzzle 112▶ ~8 minDormand-Prince×Embedded error step control
Adaptive ODE integration
puzzle 133▶ ~8 minGaussian elimination×Partial pivoting
Linear systems
puzzle 137▶ ~8 minAutomatic differentiation×Reverse mode
Gradient computation
puzzle 140▶ ~8 minConjugate gradient×Jacobi preconditioner
SPD sparse systems
puzzle 159▶ ~9 minBarnes-Hut×Octree center-of-mass approximation
N-body simulation
puzzle 160▶ ~9 minLevenberg-Marquardt×Trust-region damping
Nonlinear least squares
puzzle 161▶ ~9 minNelder-Mead×Reflect-expand-contract simplex
Derivative-free optimization
puzzle 167▶ ~10 minBrent's method×Inverse quadratic interpolation
Robust root finding
Signal, Image & Graphics
Kalman filter×Covariance-weighted correction
Linear state estimation
puzzle 145▶ ~8 minRANSAC×Random consensus sampling
Robust model fitting
puzzle 153▶ ~9 minHough transform×Parameter-space voting
Line detection
puzzle 154▶ ~9 minOtsu thresholding×Between-class variance
Image binarization
puzzle 173▶ ~10 minCanny edge detector×Hysteresis thresholding
Edge detection
puzzle 190▶ ~10 minConnected component labeling×Two-pass union-find
Region labeling
puzzle 191▶ ~11 minPerlin noise×Gradient lattice interpolation
Procedural texturing
puzzle 200▶ ~10 minTemplate matching×Normalized cross-correlation
Pattern localization
Machine Learning & AI
K-means×K-means++ seeding
Clustering points into k groups
puzzle 29▶ ~8 minViterbi algorithm×Max-product trellis
Decoding hidden sequences
puzzle 36▶ ~8 minMetropolis-Hastings×Proposal acceptance ratio
MCMC sampling
puzzle 63▶ ~8 minGibbs sampling×Coordinate-wise conditional draws
Posterior sampling
puzzle 103▶ ~8 minGaussian mixture model×Expectation-maximization
Soft clustering
puzzle 109▶ ~8 minThompson sampling×Posterior draws
Multi-armed bandits
puzzle 126▶ ~8 minBackpropagation×Stochastic gradient descent
Neural network training
puzzle 127▶ ~8 minQ-learning×Epsilon-greedy exploration
Reinforcement learning
puzzle 128▶ ~8 minAdaBoost×Exponential reweighting
Boosted classification
puzzle 129▶ ~8 minDBSCAN×Density-reachability
Arbitrary-shape clustering
puzzle 130▶ ~8 minPerceptron×Mistake-driven updates
Linear classification
puzzle 149▶ ~9 minDecision tree×Information gain splits
Interpretable classification
puzzle 150▶ ~9 minNaive Bayes×Laplace smoothing
Probabilistic classification
puzzle 151▶ ~9 minAssociation rule mining×Apriori candidate pruning
Market-basket analysis
puzzle 152▶ ~9 minDynamic time warping×Elastic alignment
Series similarity
puzzle 164▶ ~10 minHolt-Winters×Triple seasonal smoothing
Seasonal forecasting
puzzle 192▶ ~11 minRandom search×Uniform hyperparameter sampling
Hyperparameter tuning
puzzle 197▶ ~10 minGaussian process regression×RBF kernel
Probabilistic regression
Probabilistic, Randomized & Simulation
Bloom filter×K independent hashes
Approximate set membership
puzzle 12▶ ~8 minHyperLogLog×Leading-zero registers
Counting distinct at scale
puzzle 16▶ ~8 minPageRank×Damped random walk
Ranking linked graphs
puzzle 24▶ ~8 minReservoir sampling×Algorithm R
Sampling unbounded streams
puzzle 42▶ ~8 minMinHash×Bottom-k signatures
Jaccard similarity estimation
puzzle 46▶ ~8 minFisher-Yates shuffle×Backward uniform swaps
Uniform permutation
puzzle 54▶ ~8 minCount-min sketch×Minimum over hash rows
Frequency estimation
puzzle 59▶ ~8 minBoyer-Moore majority vote×Pairwise cancellation
Majority element
puzzle 64▶ ~8 minCuckoo filter×Fingerprint eviction
Deletable set membership
puzzle 70▶ ~8 minSpace-Saving×Min-counter replacement
Top-k heavy hitters
puzzle 136▶ ~8 minDiscrete event simulation×Event-queue advance
Systems modeling
puzzle 176▶ ~10 minM/M/1 analysis×Birth-death balance equations
Single-queue analysis
puzzle 179▶ ~10 minKernel density estimation×Silverman bandwidth
Density estimation
puzzle 182▶ ~10 minMonte Carlo integration×Uniform sampling
Numerical integration
puzzle 184▶ ~10 minBonferroni correction×Family-wise error control
Multiple testing
puzzle 201▶ ~11 minImportance sampling×Variance-reducing proposal
Rare-event estimation
Cryptography & Number Theory
Miller-Rabin×Witness rounds
Probabilistic primality
puzzle 76▶ ~8 minSieve of Eratosthenes×Crossing off from the square
Prime enumeration
puzzle 78▶ ~8 minPollard's rho×Floyd cycle detection
Integer factorization
puzzle 88▶ ~8 minModular exponentiation×Square-and-multiply
Fast modular powers
puzzle 95▶ ~8 minShamir secret sharing×Polynomial interpolation
Threshold secret splitting
puzzle 147▶ ~8 minChinese remainder theorem×Garner's algorithm
Modular reconstruction
puzzle 177▶ ~10 minDifferential privacy×Laplace mechanism
Private data release
Information Theory & Coding
Huffman coding×Frequency-sorted merges
Squeezing symbols to their frequencies
puzzle 38▶ ~8 minLZ77×Sliding-window matching
Dictionary compression
puzzle 60▶ ~8 minLZW×Growing phrase dictionary
Dictionary compression
puzzle 75▶ ~8 minBurrows-Wheeler compression×Move-to-front plus RLE
Block-sorting compression
puzzle 86▶ ~8 minCRC×Polynomial division
Error detection
puzzle 111▶ ~8 minArithmetic coding×Range renormalization
Near-entropy compression
puzzle 121▶ ~8 minReed-Solomon×Berlekamp-Massey decoding
Burst error correction
puzzle 195▶ ~10 minShannon entropy estimation×Maximum likelihood plug-in
Entropy estimation
Systems & Networking
Consistent hashing×Virtual nodes
Distributed key placement
puzzle 61▶ ~8 minRendezvous hashing×Highest-random-weight
Distributed key placement
puzzle 90▶ ~8 minRaft×Leader election with terms
Distributed consensus
puzzle 99▶ ~8 minChandy-Lamport×Marker-based snapshots
Distributed snapshots
puzzle 114▶ ~8 minWork stealing×Randomized victim selection
Task-parallel scheduling
puzzle 116▶ ~8 minPaxos×Proposer-acceptor quorums
Distributed consensus
puzzle 132▶ ~8 minBanker's algorithm×Safe-state check
Deadlock avoidance
puzzle 143▶ ~8 minGossip protocol×Random-peer anti-entropy
Epidemic dissemination
puzzle 144▶ ~8 minParallel prefix sum×Blelloch scan
Data-parallel primitive
puzzle 157▶ ~9 minGarbage collection×Mark and sweep
Automatic memory management
puzzle 158▶ ~9 minTCP congestion control×AIMD slow start
Congestion avoidance
puzzle 193▶ ~10 minDistance-vector routing×Bellman-Ford exchange
Network routing
puzzle 202▶ ~11 minLongest prefix match×Trie lookup
IP forwarding
Databases & Information Retrieval
Hash join×Build-probe partitioning
Equi-join
puzzle 92▶ ~8 minExternal merge sort×K-way run merging
Large-relation sorting
puzzle 93▶ ~8 minMultiversion concurrency control×Snapshot timestamps
Transaction isolation
puzzle 104▶ ~8 minLog-structured merge tree×Leveled compaction
Write-optimized storage
puzzle 125▶ ~8 minHNSW×Navigable small-world layers
Vector similarity search
puzzle 141▶ ~8 minByte pair encoding×Frequency-merge vocabulary
Subword tokenization
puzzle 148▶ ~8 minLocality-sensitive hashing×Random hyperplane hashes
Approximate nearest neighbors
puzzle 169▶ ~10 minBM25 ranking×Saturating term frequency
Document ranking
puzzle 199▶ ~11 minSharding×Hash partitioning
Horizontal scaling
Formal Languages & Compilers
Subset construction×Powerset determinization
NFA to DFA
puzzle 94▶ ~8 minTomasulo's algorithm×Reservation stations with register renaming
Out-of-order execution
puzzle 113▶ ~8 minPratt parsing×Binding-power dispatch
Expression parsing
puzzle 119▶ ~8 minHopcroft's minimization×Partition refinement
DFA minimization
puzzle 156▶ ~9 minBinary decision diagram×Reduced ordered canonical form
Boolean function representation
puzzle 162▶ ~10 minRegister allocation×Graph coloring
Compiler backend
puzzle 174▶ ~10 minShunting yard×Operator stack
Expression to postfix
puzzle 187▶ ~10 minReaching definitions×Forward dataflow
Dataflow analysis
puzzle 194▶ ~11 minSet-associative cache×Index-tag lookup
Cache organization
puzzle 203▶ ~10 minLL(1) parsing×First-follow table
Predictive parsing
Quantum & Unconventional Computing
Computational Biology & Chemistry
Robotics, Control & Planning
read or listen
Each lesson has a written explanation and a spoken version. Open a lesson and use its Listen or Text Narration control. Recorded lessons offer two voices; earlier lessons use the voices available in your browser.
Listening requires no account. Choose a voice and pace in the player. The legacy lessons keep their existing recordings and playback controls.