Skip to main content

Reference and Selective Reading

You do not need to read Grokking Algorithms front-to-back for this module. Use the concept and practice pages first. Open these only when you want the original explanation, more examples, or a deeper look at the same idea.

Scope Note

This reference page maps only the Grokking Algorithms material that supports the current Semester 0 intuition module.

It does not attempt to cover every chapter in the book. Later topics such as Dijkstra, greedy algorithms, dynamic programming, k-nearest neighbors, and trees are intentionally deferred so Semester 0 stays focused on first-pass algorithm intuition rather than full algorithm coverage.

Read Only If Stuck

Optional Deep Dive

Source-Role Clarity

  • Primary teaching source: the concept and practice pages in this module
  • Selective reference: the linked Grokking Algorithms chunks from chapters 1-6
  • Exercise source: the drills and practice pages in this module
  • Official docs: not required here because this module is concept-heavy rather than tool- or API-heavy
  • Optional deep dive: hash-table use cases, graph extras, and the full chunk index

Concept-to-Source Map

Concept pageBest source if stuckWhy this source
Search by Eliminating Half the PossibilitiesBinary search / A better way to search / LogarithmsBest first explanation of halving the search space and why sorted order matters
Growth Rate Beats Raw TimingWhat Big OBest for growth-rate intuition and common runtime families
Data Shape Controls What Feels FastArrays and 5 Hash TablesBest for storage tradeoffs and key-based lookup
Break Big Problems Into Smaller OnesRecursion and 3 RecursionBest for base case thinking and understanding how the call stack holds unfinished work
Sorting Reveals Algorithm ShapeExample Code Listing, 4 Quicksort, and Quicksort (Part 1)Best for comparing repeated full scans with divide-and-conquer partitioning
Think in Graphs, Then Search Breadth-First6 Breadth-first Search and Queues / Running timeBest for graph modeling, BFS waves, queue behavior, and shortest unweighted path reasoning

Direct Chunk Shortcuts By Need

If you need help with...Best chunk
why binary search is dramatically fasterRunning time / Big O notation
common runtime shapesWhat Big O
array vs linked-list inserts and deletesTerminology / Unordered Ordered / Deletions
why selection sort stays slowExample Code Listing
how divide-and-conquer reduces a problem4 Quicksort
how quicksort partitions around a pivotQuicksort (Part 1)
why hash tables are fast on average but not magicCollisions / Performance / Load factor
how recursion uses the call stack3 Recursion
why BFS needs a queue and a visited setQueues / Running time
task ordering from dependencies6 Breadth-first Search

Source Book Chunks

For direct chunk access, use Grokking Algorithms Contents.

Deferred Topics From the Book

These source chunks are real parts of the book, but they are intentionally outside the boundary of this module:

Deferred topicSource chunkWhy it is deferred
Dijkstra's algorithmWorking with Dijkstra's algorithm / terminologyWeighted shortest paths deserve a later algorithm pass after BFS is stable
Greedy algorithms8 Greedy algorithmsBetter placed with later tradeoff-heavy algorithm work
Dynamic programming9 Dynamic programming part 1Too heavy for orientation; belongs in a later problem-solving phase
K-nearest neighbors10 K-nearest neighborsUseful, but not required for Semester 0 algorithm intuition
Trees and advanced survey topics11 TreesBetter after foundational data-structure reasoning is in place

If you want to study those topics later, treat this table as a forward map rather than a missing-content list.