From Grokking Algorithms by Aditya Y. Bhargava

Take 42% off the entire book. Just enter code algrokking into the discount code box at checkout at

Grokking Algorithms┬áis a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You’ll start with sorting and searching and, as you build up your skills in thinking algorithmically, you’ll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. The slide deck below walks you through working with Dijkstra’s algorithm.