Knuth

TAOCP reading order and study plan

Read The Art of Computer Programming in volume order, 1, 2, 3, 4A, 4B, and within each volume in section order. Each volume leans on the math and data structures before it. The only common exception is reading Volume 3 before Volume 2, which works if you have done Volume 1 properly.

Updated

Why Volume 1 first, always

Volume 1, Fundamental Algorithms, holds the two things every later volume assumes: §1.2, the mathematical toolkit (sums, binomial coefficients, harmonic numbers, generating functions, asymptotics), and §1.3, the MIX computer that the programs in Volumes 2 and 3 are written for. Chapter 2 then builds the lists, trees and storage allocation that Volume 3 sorts and searches. Starting anywhere else means learning these on the fly.

The volumes in order

VolumeWhat it coversOn the pathHours planned
Vol 1: Fundamental AlgorithmsMath preliminaries, MIX, lists, trees, garbage collection, allocationweeks 29 to 63about 240
Vol 2: Seminumerical AlgorithmsRandom numbers and their tests, floating point, bignums, gcd, factoring, polynomialsweeks 64 to 89about 200
Vol 3: Sorting and SearchingPermutations, every classic sort, sorting networks, external sorting, search trees, hashingweeks 90 to 117about 220
Vol 4A: Combinatorial Algorithms, Part 1Boolean functions, bit tricks, BDDs, generating tuples, permutations, combinations, partitions, treesweeks 118 to 133about 120
Vol 4B: Combinatorial Algorithms, Part 2Backtracking, dancing links, satisfiabilityweeks 134 to 145about 90

The hours are the sum of the time budgets in the cracked.guide reading guides for each section. Volume 4A and 4B have fewer hours because the path reads selected sections of those huge volumes, not every page.

Volume 3 before Volume 2?

It is a reasonable swap if you care about data structures more than numerics, and Volume 3 is the most directly practical volume. Volume 3 uses Volume 1's math heavily and Volume 2 only lightly (random permutations, some number theory in hashing). The cracked.guide path keeps the printed order because Volume 2's chapter 3, on random numbers, is where the probability you need for Volume 3's average-case analysis gets practice.

Within a volume

Go in section order. Knuth builds forward constantly; an exercise in 2.3.4 assumes 2.3.1 to 2.3.3. Long sections are split across two or three weeks on the path (for example 1.2.6 Binomial Coefficients and 6.4 Hashing), and each volume ends with a review week for the exercises you skipped.

What to skim on a first pass: the history sections, the tape-sorting sections in 5.4, and the HM-heavy parts of 3.3.3, 4.5.3 and 4.6.2. See how to read TAOCP for what never to skip.

Before Volume 1

Knuth assumes you can program. If you are not fluent yet, build something substantial first. The cracked.guide path spends weeks 1 to 28 on Crafting Interpreters for exactly this reason: two interpreters in Java and C give you the programming muscle, and ideas like garbage collection and hash tables show up again in Knuth with the math attached. Generate your own dated version of the whole sequence with the study plan generator.

Questions

Which TAOCP volume should I read first?

Volume 1, Fundamental Algorithms. Every later volume assumes its math (section 1.2) and its MIX computer (section 1.3).

Can I start with Volume 3?

Only if you already know the Volume 1 math well. Otherwise the analyses in Volume 3 will not make sense.

Do I need Volume 4A before 4B?

Yes, mostly. 4B's backtracking and satisfiability sections build on 7.1 (Boolean functions) and 7.2.1 (generating combinatorial objects) from 4A.