CS ATLAS A map of computing

Domain 03 —

Algorithms & Data Structures

5 topics1736 — 1968

Chronology — 22 entries

Chronology

Every milestone in this domain, ordered by date. An event shared by several topics is counted once.

1736Euler solves the seven bridgesGraph theory is born.Graph Algorithms
1894Bachmann introduces O notationAn upper bound on how fast a function grows.Algorithm Analysis
1945Merge sortvon Neumann implements it on the EDVAC.Sorting & Searching
1953Bellman introduces dynamic programmingOptimising decisions made in stages.Dynamic Programming
1953Hash tablesAverage constant-time lookup through a hash function.Data Structures
1956Dijkstra's shortest pathsSingle-source shortest paths with non-negative weights.Graph Algorithms
1957Prim and Kruskal: minimum spanning treesTwo greedy strategies for the same problem.Graph Algorithms
1960QuicksortHoare's in-place divide and conquer.Sorting & Searching
1962Floyd–WarshallAll-pairs shortest paths by dynamic programming.Graph Algorithms
1962B-treesA multiway balanced tree designed for disk indexes.Data Structures
1964HeapsortWilliams gives an in-place algorithm with worst-case O(n log n).Sorting & Searching
1964Union–findNear-constant-time merging and querying of sets.Data Structures
1967The Viterbi algorithmThe best path through a hidden Markov model.Dynamic Programming
1968Knuth systematises algorithm analysisThe first volume of The Art of Computer Programming appears.Algorithm Analysis
1970Needleman–WunschDynamic programming for biological sequence alignment.Dynamic Programming
1970Knapsack and interval DP systematisedBoth enter the algorithms textbooks.Dynamic Programming
1970Decision-tree lower boundsComparison sorting needs Omega(n log n).Algorithm Analysis
1972Edmonds–Karp max flowBreadth-first search keeps it polynomial.Graph Algorithms
1972Red–black treesA balanced binary search tree you can actually implement.Data Structures
1973Amortised analysisSpread the cost of a whole sequence of operations across each one.Algorithm Analysis
1989Skip listsProbabilistic balance instead of strict rotations.Data Structures
2002TimsortAn adaptive merge sort designed for real-world data.Sorting & Searching

Curriculum

Courses and labs

Which university courses this domain usually maps to, and whether the practical work is a standalone project course or an in-class lab.

In-class labs + a project

Labs are mostly “code it and let the judge check”, once a week, with no separate lab credit.

Courses

Data StructuresAlgorithm Design and Analysis

Open courses

  • MIT 6.006 Introduction to Algorithms
  • Princeton COS 226 Algorithms

What the labs look like

  • Online judge

    Solve set problems with automatic scoring and time limits — the closest thing to industry practice

  • Algorithm visualisation

    Watch sorting, shortest paths and balanced trees execute in a visualiser