A friendly, fully-illustrated introduction to the most important computer programming algorithms.
Master the most widely used algorithms and be fully prepared when you’re asked about them at your next job interview. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, you’ll actually enjoy learning about algorithms with this fun and friendly guide!
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 revised second edition contains brand new coverage of trees, including binary search trees, balanced trees, B-trees and more. You’ll also discover fresh insights on data structure performance that takes account of modern CPUs. Plus, the book’s fully annotated code samples have been updated to Python 3.
About the technology
The algorithms you use most often have already been discovered, tested, and proven. Grokking Algorithms, Second Edition makes it a breeze to learn, understand, and use them. With beautifully simple explanations, over 400 fun illustrations, and dozens of relevant examples, it’s the perfect way to unlock the power of algorithms in your everyday work and prepare for your next coding interview—no math required!
About the book
Grokking Algorithms, Second Edition teaches you important algorithms to speed up your programs, simplify your code, and solve common programming problems. Start with tasks like sorting and searching, then build your skills to tackle advanced problems like data compression and artificial intelligence. You’ll even learn to compare the performance tradeoffs between algorithms. Plus, this new edition includes fresh coverage of trees, NP-complete problems, and code updates to Python 3.
What's inside
Search, sort, and graph algorithms
Data structures such as arrays, lists, hash tables, trees, and graphs
NP-complete and greedy algorithms
Exercises and code samples in every chapter