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 algorithmsData structures such as arrays, lists, hash tables, trees, and graphsNP complete and greedy algorithmsPerformance trade-offs between algorithmsExercises and code samples in every chapterOver 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.