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
- Binary search / A better way to search / Logarithms
- Running time / Big O notation
- What Big O
- Arrays
- Terminology / Unordered Ordered / Deletions
- Example Code Listing
- Recursion
- 3 Recursion
- 4 Quicksort
- Quicksort (Part 1)
- Quicksort
- 5 Hash Tables
- Collisions / Performance / Load factor
- 6 Breadth-first Search
- Queues / Running time
Optional Deep Dive
Source-Role Clarity
Primary teaching source: the concept and practice pages in this moduleSelective reference: the linked Grokking Algorithms chunks from chapters 1-6Exercise source: the drills and practice pages in this moduleOfficial docs: not required here because this module is concept-heavy rather than tool- or API-heavyOptional deep dive: hash-table use cases, graph extras, and the full chunk index
Concept-to-Source Map
| Concept page | Best source if stuck | Why this source |
|---|---|---|
| Search by Eliminating Half the Possibilities | Binary search / A better way to search / Logarithms | Best first explanation of halving the search space and why sorted order matters |
| Growth Rate Beats Raw Timing | What Big O | Best for growth-rate intuition and common runtime families |
| Data Shape Controls What Feels Fast | Arrays and 5 Hash Tables | Best for storage tradeoffs and key-based lookup |
| Break Big Problems Into Smaller Ones | Recursion and 3 Recursion | Best for base case thinking and understanding how the call stack holds unfinished work |
| Sorting Reveals Algorithm Shape | Example 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-First | 6 Breadth-first Search and Queues / Running time | Best 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 faster | Running time / Big O notation |
| common runtime shapes | What Big O |
| array vs linked-list inserts and deletes | Terminology / Unordered Ordered / Deletions |
| why selection sort stays slow | Example Code Listing |
| how divide-and-conquer reduces a problem | 4 Quicksort |
| how quicksort partitions around a pivot | Quicksort (Part 1) |
| why hash tables are fast on average but not magic | Collisions / Performance / Load factor |
| how recursion uses the call stack | 3 Recursion |
| why BFS needs a queue and a visited set | Queues / Running time |
| task ordering from dependencies | 6 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 topic | Source chunk | Why it is deferred |
|---|---|---|
| Dijkstra's algorithm | Working with Dijkstra's algorithm / terminology | Weighted shortest paths deserve a later algorithm pass after BFS is stable |
| Greedy algorithms | 8 Greedy algorithms | Better placed with later tradeoff-heavy algorithm work |
| Dynamic programming | 9 Dynamic programming part 1 | Too heavy for orientation; belongs in a later problem-solving phase |
| K-nearest neighbors | 10 K-nearest neighbors | Useful, but not required for Semester 0 algorithm intuition |
| Trees and advanced survey topics | 11 Trees | Better 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.