Grokking Algorithms An Illustrated Guide For Programmers

An algorithm is nothing than a step by step procedure for solving a problem The algorithms you'll use most often as a programmer have already been discovered tested and proven If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi page proofs you'll find in most textbooks this is the book for you This fully illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programsGrokking Algorithms is a disarming take on a core computer science topic In it you'll learn how to apply common algorithms to the practical problems you face in day to day life as a programmer You'll start with problems like sorting and searching As you build up your skills in thinking algorithmically you'll tackle complex concerns such as data compression or artificial intelligence Whether you're writing business software video games mobile apps or system utilities you'll learn algorithmic techniques for solving problems that you thought were out of your grasp For example you'll be able toWrite a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms and attack them with algorithms that give you an approximate answer insteadEach carefully presented example includes helpful diagrams and fully annotated code samples in Python By the end of this book you will know some of the most widely applicable algorithms as well as how and when to use them

10 thoughts on “Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People

  1. says:

    Professional programmers aren't going to learn anything new from this book but it was a fun read regardless What struck me as great about this book is it reads like an ELI5 about algorithms and data structures If nothing else it's a great way for one to learn how to teach algorithms to others who aren't in the industry This is a must read for anyone that's learning to code