Timeline
Every exhibit in chronological order, from antiquity to the present.
Logistic Regression
Joseph Berkson
Merge Sort
John von Neumann
Binary Search
John Mauchly
Simplex Method (2D)
George Dantzig
Monte Carlo π Estimation
Stanislaw Ulam & John von Neumann
Fibonacci (Memoized)
Richard Bellman
Huffman Coding
David A. Huffman
Longest Common Subsequence
Various (Bellman era)
Radix Sort
Harold Seward
Counting Sort
Herman H. Seward
Rod Cutting
Richard Bellman
Weighted Interval Scheduling
Folklore (CLRS style)
Hungarian Algorithm
Harold Kuhn
Dijkstra's Shortest Path
Edsger W. Dijkstra
Kruskal's Minimum Spanning Tree
Joseph Kruskal
Bubble Sort
Folklore
Ford-Fulkerson (Max Flow)
L.R. Ford Jr. & D.R. Fulkerson
0/1 Knapsack Problem
George Dantzig
Bellman-Ford Algorithm
Richard Bellman & Lester Ford Jr.
Perceptron
Frank Rosenblatt
Quick Sort
Tony Hoare
Shell Sort
Donald Shell
Insertion Sort
Various
Breadth-First Search
Edward F. Moore
Trie (Prefix Tree)
Edward Fredkin
Kalman Filter
Rudolf E. Kálmán
Karatsuba Multiplication
Anatoly Karatsuba
Longest Increasing Subsequence
Craige Schensted (tableaux) / classical LIS
Randomized Quick Select
Tony Hoare
Min-Cost Max Flow
Ford & Fulkerson / Busacker & Gowen
Floyd-Warshall All-Pairs Shortest Paths
Robert Floyd
Topological Sort (Kahn's Algorithm)
Arthur Kahn
Gale–Shapley Stable Matching
David Gale & Lloyd Shapley
Bitmask DP (Tiny TSP)
Michael Held & Richard Karp
AVL Tree
Georgy Adelson-Velsky & Evgenii Landis
Selection Sort
Various
Disjoint-Set Union (Union–Find)
Bernard A. Galler & Michael J. Fischer
Heap Sort
J.W.J. Williams
Bidirectional Search
Nichols (folklore)
Edmonds' Blossom Algorithm
Jack Edmonds
Edit Distance (Levenshtein)
Vladimir Levenshtein
FFT (Cooley-Tukey)
James Cooley & John Tukey
Viterbi Algorithm
Andrew Viterbi
CYK Parser
John Cocke, Daniel Younger & Tadao Kasami
Run-Length Encoding
Folklore (IBM)
k-Means Clustering
James MacQueen et al.
A* Search
Peter Hart, Nils Nilsson & Bertram Raphael
Depth-First Search
Robert Tarjan
Matrix Chain Multiplication
T.C. Hu & M.T. Shing
Strassen Matrix Multiply
Volker Strassen
Interpolation Search
W. W. Peterson
Iterative Deepening DFS
Folklore
KMP Pattern Matching
Donald Knuth, James Morris & Vaughan Pratt
Earley Parser
Jay Earley
Bloom Filter
Burton Howard Bloom
Tarjan Strongly Connected Components
Robert Tarjan
Articulation Points (Tarjan)
Robert Tarjan
Coin Change (Unbounded)
Various
Graham Scan (Convex Hull)
Ronald Graham
Red-Black Tree
Rudolf Bayer
B-Tree
Rudolf Bayer & Edward M. McCreight
Edmonds-Karp (Max Flow)
Jack Edmonds & Richard Karp
Hopcroft–Karp Bipartite Matching
John Hopcroft & Richard Karp
Jarvis March (Gift Wrapping)
R. A. Jarvis
B+ Tree
Rudolf Bayer & Edward M. McCreight
Bridges (Tarjan DFS)
Robert Tarjan
Closest Pair of Points
Michael Shamos & Dan Hoey
Aho–Corasick
Alfred V. Aho & Margaret J. Corasick
Manacher — Odd Palindromes
Glenn Manacher
Line Sweep (Segment Intersection)
Jon Bentley & Thomas Ottmann
Diffie–Hellman Key Exchange
Whitfield Diffie & Martin Hellman
Johnson's Algorithm
Donald B. Johnson
Boyer-Moore
Robert Boyer & J Strother Moore
Segment Tree
Jon Bentley
LZ77
Jacob Ziv & Abraham Lempel
Kosaraju–Sharir SCC
Micha Sharir / S. Rao Kosaraju
Ear Clipping (Triangulation)
Various (attributed)
Point in polygon (ray casting)
Various (computational geometry folklore)
LZ78
Jacob Ziv & Abraham Lempel
RSA Key Generation
Ron Rivest, Adi Shamir & Leonard Adleman
Merkle Tree
Ralph Merkle
Smith–Waterman
Temple F. Smith & Michael S. Waterman
RANSAC
Martin A. Fischler & Robert C. Bolles
Simulated Annealing
Scott Kirkpatrick, C. Daniel Gelatt & Mario P. Vecchi
Maximum Subarray (Kadane)
Jay Kadane
Z-Algorithm
Ruth Williams
Interior-Point Method (LP)
Narendra Karmarkar et al.
Fortune's Algorithm (Voronoi Diagram)
Steven Fortune
Splay Tree
Daniel Sleator & Robert Tarjan
Backpropagation (MLP)
Geoffrey Hinton, David Rumelhart & Ronald Williams
Rabin-Karp
Michael Rabin & Richard Karp
LeNet (CNN)
Yann LeCun
Suffix Array Construction
Udi Manber & Gene Myers
Skip List
William Pugh
Deutsch–Jozsa Algorithm
David Deutsch & Richard Jozsa
Tim Sort
Tim Peters
Stoer–Wagner Min Cut
Mechthild Stoer & Frank Wagner
Fenwick Tree
Peter Fenwick
RSA-OAEP Padding
Mihir Bellare & Phillip Rogaway
Ukkonen's Algorithm
Esko Ukkonen
SHA-256 block compression
NSA / NIST (FIPS 180 family)
Grover’s Search
Lov Grover
Consistent Hashing
David Karger et al.
Naive Bayes Text Classifier
Various
LSTM
Sepp Hochreiter & Jürgen Schmidhuber
PageRank
Larry Page & Sergey Brin
LZMA Pipeline (7z)
Igor Pavlov
AES Round Function (one round)
Joan Daemen & Vincent Rijmen / NIST
Chord DHT
Ion Stoica, Robert Morris, David Karger, Frans Kaashoek & Hari Balakrishnan
MapReduce
Jeffrey Dean & Sanjay Ghemawat
t-SNE (2D embedding)
Laurens van der Maaten & Geoffrey Hinton
CRDT: G-Counter
Marc Shapiro et al.
AlexNet
Alex Krizhevsky, Ilya Sutskever & Geoffrey Hinton
Raft
Diego Ongaro & John Ousterhout
GAN (Generative Adversarial Network)
Ian Goodfellow
Variational Autoencoder
Diederik Kingma & Max Welling
ResNet (Residual Network)
Kaiming He, Xiangyu Zhang, Shaoqing Ren & Jian Sun
Transformer (Self-Attention)
Ashish Vaswani et al.
Mixture of Experts
Noam Shazeer et al.
BERT (Bidirectional Encoder)
Jacob Devlin et al.