Grokking Algorithms is a 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. Learning about algorithms doesn't have to be boring!
An algorithm is nothing more 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 understand them but refuse to slog through dense multipage proofs, this is the book for you. This engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs.
Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors
This accessible introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python.Aditya Bhargava is a software engineer with a dual background in computer science and fine arts. He blogs on programming at adit.io.
(Tags : Grokking Algorithms (Unabridged) Aditya Bhargava Audiobook, Aditya Bhargava Audio CD )