When it comes to writing efficient code, every software professional needs to have an effective working knowledge of algorithms. In this practical book, author George Heineman (Algorithms in a Nutshell) provides concise and informative descriptions of key algorithms that improve coding. Software developers, testers, and maintainers will discover how algorithms solve computational problems creatively.
Each chapter builds on earlier chapters through eye-catching visuals and a steady rollout of essential concepts, including an algorithm analysis to classify the performance of every algorithm presented in the book. At the end of each chapter, you'll get to apply what you've learned to a novel challenge problem -- simulating the experience you might find in a technical code interview.
With this book, you
Examine fundamental algorithms central to computer science and software engineeringLearn common strategies for efficient problem solving -- such as divide and conquer, dynamic programming, and greedy approachesAnalyze code to evaluate time complexity using big O notationUse existing Python libraries and data structures to solve problems using algorithmsUnderstand the main steps of important algorithms
A little bit short than I expected. The book has some sparks of knowledge but overall is more practical. I was expecting more theory-oriented and why things work the way they do. The author talks about hash, heap, sorts, binary trees, and graphs with many practical code examples which is great. Probably the most interesting chapters are the 1st and the 2nd problem solving and analyzing algorithms.