Tim Roughgarden, "Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming"
ISBN: 0999282948 | 2019 | PDF | 229 pages | 8 MB
Accessible, no-nonsense, and programming language-agnostic introduction to algorithms. Includes hints or solutions to all quizzes and problems, and a series of YouTube videos by the author accompanies the book. Part 3 covers greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, shortest paths, optimal search trees).