January 2024
Intermediate to advanced
480 pages
12h 36m
English

I wrote this book to teach you how to think about and design data structures and algorithms. On our way, we studied many durable ideas from computer science. Hash tables free us from expensive linear searches. Trees organize hierarchical data. Recursion solves problems whose solutions involve solving subproblems. Memoization and dynamic programming keep recursion fast even when subproblems overlap. Graphs generalize what is representable by trees. Breadth-first search and Dijkstra’s algorithm find shortest paths in graphs; since graphs are so general, “paths” can mean many things. Binary search turns a “solve this” problem into a “check ...
Read now
Unlock full access