### data structures and algorithms

collections

- The Stony Brook Algorithm Repository http://www.cs.sunysb.edu/~algorith/
- Dictionary of Algorithms and Data Structures http://www.nist.gov/dads/

### building blocks and lego transmogrifiers

- The Unification Algorithm
- Conjugate Gradients
- Karmarkar's linear programming algorithm
- Knuth-Morris-Pratt string matching
- Multidimensional scaling
- The Kernighan-Lin TSP & graph-partitioning methods
- Lempel-Ziv compression
- RSA and DH public key algorithms
- Fast Fourier Transform
- Fast Multipole method
- Quine-McCluskey optimization
- Celine/Gosper/Zeilberger/Wilf algorithm for hypergeometric identities
- Simulated Annealing or Genetic Algorithm
- Simplex Method
- Space Time Adaptation Protocol
- Red-Black Trees
- Tree Comparison
- Skip Lists

### KD trees

### graph based

'stanford graph base' http://www.cs.sunysb.edu/~algorith/implement/graphbase/implement.shtml

### algorithms of the ages

- 1946: The Metropolis Algorithm for Monte Carlo. Through the use of random processes, this algorithm offers an efficient way to stumble toward answers to problems that are too complicated to solve exactly.
- 1947: Simplex Method for Linear Programming. An elegant solution to a common problem in planning and decision-making.
- 1950: Krylov Subspace Iteration Method. A technique for rapidly solving the linear equations that abound in scientific computation.
- 1951: The Decompositional Approach to Matrix Computations. A suite of techniques for numerical linear algebra.
- 1957: The Fortran Optimizing Compiler. Turns high-level code into efficient computer-readable code.
- 1959: QR Algorithm for Computing Eigenvalues. Another crucial matrix operation made swift and practical.
- 1962: Quicksort Algorithms for Sorting. For the efficient handling of large databases.
- 1965: Fast Fourier Transform. Perhaps the most ubiquitous algorithm in use today, it breaks down waveforms into periodic components.
- 1977: Integer Relation Detection. A fast method for spotting simple equations satisfied by collections of seemingly unrelated numbers.
- 1987: Fast Multipole Method. A breakthrough in dealing with the complexity of n-body calculations, applied in problems ranging from celestial mechanics to protein folding.