A friendly, fully-illustrated introduction to the most important computer programming algorithms.
The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. This book will prepare you for those pesky algorithms questions in every programming job interview and help you apply them in your day-to-day work. And if you want to understand them without slogging through dense multipage proofs, this is the book for you.
In Grokking Algorithms, Second Edition you will discover:
Search, sort, and graph algorithms
Data structures such as arrays, lists, hash tables, trees, and graphs
NP complete and greedy algorithms
Performance trade-offs between algorithms
Exercises and code samples in every chapter
Over 400 illustrations with detailed walkthroughs
The first edition of Grokking Algorithms proved to over 100,000 readers that learning algorithms doesn't have to be complicated or boring! This new edition now includes fresh coverage of trees, NP complete problems, and code updates to Python 3. With easy-to-read, friendly explanations, clever examples, and exercises to sharpen your skills as you learn, you’ll actually enjoy learning these important algorithms.