We may earn an affiliate commission when you visit our partners.

Grokking Algorithms, Second Edition

Aditya Y. Bhargava

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 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. Foreword by Daniel Zingaro.

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.

About the reader

No advanced math or programming skills required.

About the author

Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts.

Table of Contents

1 Introduction to algorithms

2 Selection sort

3 Recursion

4 Quicksort

5 Hash tables

6 Breadth-first search

7 Trees

8 Balanced trees

9 Dijkstra’s algorithm

10 Greedy algorithms

11 Dynamic programming

12 k-nearest neighbors

13 where to go next

Read on Amazon
Read this for free with Kindle Unlimited

Save this book

Create your own learning path. Save this book to your list so you can find it easily later.
Save

Share

Help others find this book page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser