Skip to main content

Reading Guide

Start with the concept lesson and a written attempt. Full-book reading is not required for the compact module path. For the full-book route, these assignments are checkpoints within the scheduled whole-book work.

NeedSource and topicWork after closing the source
Modeling and counterexamplesThe Algorithm Design Manual: Selecting the Right Jobs; Modeling the ProblemRefute earliest-start scheduling; explain the preserved quantity in earliest-finish exchange
Bounds and recurrencesSame book: RAM model, growth, summations, divide-and-conquer; CLRS: asymptotics and recurrence methodsDerive A1–A3 with base cases and matching lower bounds
AmortizationCLRS: aggregate, accounting, potential, dynamic tables; MIT dynamic-array lectureRe-derive Lab A with empty size and capacity 1, without borrowing incompatible startup assumptions
CorrectnessCLRS: loop invariants; Skiena: induction and recursionProve the lower-bound postcondition including duplicate and absent targets
DP and witnessesSkiena: Fibonacci caching and dynamic programming; Kevin Wayne's weighted-scheduling lectureDefine compatible prefixes, recover original indices, and account for predecessor-search cost
Implementation alternativesCLRS: pseudocode and loop-invariant presentations, if its presentation resolves a specific gapCompare contracts and cost models rather than copying syntax

The local Skiena collection includes topic chunks on job selection, contiguous arrays, and Fibonacci caching. The course links above intentionally use book indexes where generated chapter groupings combine topics. Search by topic in your edition; do not infer that a generated chapter label is an exact textbook section.

Consult one source for a named obstacle, then reconstruct the reasoning and solve a changed case. Record which source or solution you used. More reading is optional once the competency is demonstrated; extra familiar exercises do not replace an unproved assumption.