Skip to main content

Reading Guide

Read the authored lessons first, attempt a problem, then use a source to resolve a named question. These are bounded reinforcement assignments, not a requirement to read three algorithm books cover to cover. The full-book track remains a separate commitment. Links below open book indexes; find the topic in your edition.

Lesson blockSource and topicReading output and stopping point
Sorting and lower boundsCLRS: insertion, merging, randomized quicksort, comparison lower boundsReconstruct one invariant and decision-tree argument; solve P1–P3 without the text
Integer sortingCLRS: counting and radix sortingDraw the stable placement rule and digit induction; solve P4/P15; identify all parameters
Sorting contractsSkiena: Pragmatics of Sorting, Applications of SortingWrite a record/tie/memory contract and explain when a library API satisfies it
Searching and selectionCLRS: order statistics; Skiena: Binary Search and Related Algorithms, Median and SelectionDerive boundary invariants and selection phase proof; solve P5–P8
HashingSedgewick and Wayne: Hash Tables; CLRS: universal hashingContrast collision schemes, name probability space, trace delete/update; solve P9–P11
Heaps and streamsSkiena: Heaps, Constructing Heaps, Faster Heap Construction; Sedgewick and Wayne: Priority QueuesReproduce the height sum and one-head invariant; solve P12/P16

Local collection map​

For repository readers, the existing local source files include:

  • Books/The Algorithm Design Manual/contents/: the contents index identifies 036 (Hashing and Strings), 043 (Pragmatics of Sorting), 044–046 (heaps and construction), 049–052 (merge/quick/distribution sorting), 054 (binary search), and 169 (median and selection). These are chunk identifiers, not universal book chapter numbers. OCR can damage notation; consult the source PDF if a formula is unclear and check the assumptions against the course derivation.
  • reading/Algorithms/CLRS.pdf: use the topic headings above; do not assume page numbering matches another edition. The local PDF is a reference source, not embedded or redistributed in the lab download.
  • Resources/software-development-main/books/data structures and algorithms/Algorithms-4th-Edition-By-Robert Sedgewick and Kevin Wayne.pdf: optional implementation comparison for sorting, symbol tables and priority queues.
  • Resources/Educative - Computer Science Bootcamp [Skill Path]/9 data structures in python/: optional introductory heap/hash exercises after an independent attempt. Treat their solutions as examples to review, not an authority that overrides contracts.

Depth path with a purpose​

Choose one extension after the core passes: prove BFPRT's rounded discard bound; implement stable integer radix sorting; compare indexed and lazy cancellation; or build a buffered external merge with measured resource limits. Submit a specific question, derivation, experiment and revised decision. More sources without those outputs do not advance mastery.

Implementation details change. Use the primary sources in Learning Resources for the exact API/runtime you are testing; record its version in your evidence.