Grokking Algorithms Second Edition is a comprehensive guide to understanding algorithms, written by Aditya Bhargava. The book provides a clear and concise explanation of algorithms, making it an excellent resource for anyone looking to improve their coding skills.
The second edition of Grokking Algorithms includes updated content and new material, such as a chapter on graph algorithms. This addition provides readers with a deeper understanding of complex data structures and their applications.
One of the key strengths of Grokking Algorithms is its focus on practical examples. The book includes numerous code examples and exercises to help readers learn by doing. This approach has been praised for its effectiveness in helping readers grasp complex concepts.
What Could Have Made It Better
The author of the book "Grokking Algorithms" acknowledges that it's not a replacement for comprehensive textbooks like "Introduction to Algorithms" by Thomas H. Cormen. It's more of an introductory book that makes the topic of data structures and algorithms more interesting.
One thing the author wishes was included is more content on essential data structures like binary trees, binary search trees, and tries. This is because algorithms work on data structures, and the choice of data structure affects algorithms.
The book covers dynamic programming and greedy algorithms, as well as advanced algorithms like k-nearest neighbors, but it doesn't cover key algorithms like encoding and encryption algorithms, map-reduce, etc.
To fill this gap, the author suggests checking out "Algorithms and Data Structures" by Robert Horvick, an online course from Pluralsight. This course is available for free with a 10-day trial, which allows 200 hours of access to their online courses.
Here are some areas where the book could have been more comprehensive:
* Essential data structures like:
+ Binary trees
+ Binary search trees
+ Trie
* Key algorithms like:
+ Encoding and encryption algorithms
+ Map-reduce
Data Structures and Algorithms
Grokking Algorithms Second Edition is a comprehensive guide to understanding the most commonly used algorithms in computer programming. The book covers search, sort, and graph algorithms, as well as data structures like arrays, lists, hash tables, trees, and graphs.
You'll discover the importance of understanding algorithms, even if you primarily rely on existing libraries. Knowing algorithms is fundamental to comprehending their applications, and this book helps you grasp the essential algorithms that professionals encounter in their careers.
The book focuses on the most widely used algorithms, avoiding an exhaustive list that might overwhelm readers. You'll learn about NP-complete and greedy algorithms, performance trade-offs, and exercises with code samples in every chapter.
Here are some of the key data structures you'll learn about in Grokking Algorithms Second Edition:
- Arrays
- Lists
- Hash tables
- Trees (including binary search trees, balanced trees, and B-trees)
- Graphs
The book also covers performance trade-offs between algorithms and includes over 400 illustrations with detailed walkthroughs. With beautifully simple explanations and dozens of relevant examples, Grokking Algorithms Second Edition is the perfect way to unlock the power of algorithms in your everyday work.
Frequently Asked Questions
What is the difference between first edition and second edition of Grokking algorithms?
The second edition of Grokking Algorithms includes new coverage of trees, building on the foundation established in the first edition. This revised edition offers a more comprehensive learning experience for readers.
What language do grokking algorithms use?
Grokking Algorithms uses Python as its primary example language to teach fundamental algorithms. Dive into the book to learn how Python is used to illustrate key concepts.
Sources
- https://javarevisited.blogspot.com/2017/10/grokking-algorithms-by-aditya-bhargava-best-beginner-book.html
- https://dev.to/javinpaul/grokking-algorithms-best-data-structure-and-algorithms-book-for-beginners-with-python-54cp
- https://www.imranic.com/article/how-i-found-the-book-grokking-algorithms
- https://www.papiro-bookstore.com/product/grokking-algorithms/
- https://vivlio.casadellibro.com/product/9781638354567_9781638354567_10057/grokking-algorithms-second-edition
Featured Images: pexels.com