Project Sherlock

Computer Science

Algorithms & Data Structures

The core toolkit — and the difference between a program that finishes and one that does not.

15 topics · 20 curated works

Topics

Reading in Algorithms & Data Structures

20

A way in

  1. Start here

    No prior grounding assumed.

    Getting Sorted & Big O Notation

    Computerphile · 2013

    Shows why the choice of sorting method, not raw processor speed, is what determines whether a program finishes in seconds or in centuries.

  2. Then

    Assumes you know the vocabulary.

    MIT 6.006 Introduction to Algorithms

    Erik Demaine and Srini Devadas (MIT OpenCourseWare) · 2011

    Works through the standard algorithm curriculum by deriving each data structure from the problem that forces it, so the choice of structure is argued…

    +2 more at this level

  3. Go deeper

    Primary sources and full treatments.

    On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem

    Joseph B. Kruskal · 1956

    Proves that repeatedly adding the cheapest edge that does not create a cycle always produces a graph's minimum spanning tree, establishing this…

    +15 more at this level

12 of 20 works

Paper1962

A Dynamic Programming Approach to Sequencing Problems

Michael Held & Richard M. Karp

Applies dynamic programming to the travelling salesman problem, cutting the search from a factorial number of tours to one exponential in the number of cities by remembering subsets already solved.

In order written

1956 – 2019
  1. 1962QuicksortC. A. R. Hoare
  2. 1962A Dynamic Programming Approach to Sequencing ProblemsMichael Held & Richard M. Karp
  3. 1977A Fast String Searching AlgorithmRobert S. Boyer & J Strother Moore
  4. 1978A Dichromatic Framework for Balanced TreesLeo J. Guibas & Robert Sedgewick
  5. 1985Self-Adjusting Binary Search TreesDaniel D. Sleator & Robert E. Tarjan
  6. 1985Amortized Efficiency of List Update and Paging RulesDaniel D. Sleator & Robert E. Tarjan
  7. 1996The Space Complexity of Approximating the Frequency MomentsNoga Alon, Yossi Matias & Mario Szegedy
  8. 2001Cuckoo HashingRasmus Pagh & Flemming Friche Rodler
  9. 2011MIT 6.006 Introduction to AlgorithmsErik Demaine and Srini Devadas (MIT OpenCourseWare)
  10. 2011The Design of Approximation AlgorithmsDavid P. Williamson & David B. Shmoys
  11. 2017The Analysis of AlgorithmsDonald Knuth (Stanford Online)
  12. 2019AlgorithmsJeff Erickson

Elsewhere in Computer Science