Algorithms are the heart and soul of computer science.
Their applications range from network routing and computational genomics to public-key cryptography and machine learning.
Studying algorithms can make you a better programmer, a clearer thinker, and a master of technical interviews.
Algorithms Illuminated is an accessible introduction to the subject for anyone with at least a little programming experience.
The exposition emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details---like a transcript of what an expert algorithms tutor would say over a series of one-on-one lessons.
Part 3 covers greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, shortest paths, optimal search trees).