Video description
"This book does the impossible: it makes math fun and easy!"
Sander Rossel, COAS Software Systems
Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python.
Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this video editions course, you will have mastered widely applicable algorithms as well as how and when to use them.
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, you are at the right place. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs.
Inside:- Covers search, sort, and graph algorithms
- Over 400 pictures with detailed walkthroughs
- Performance trade-offs between algorithms
- Python-based code samples
This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms.
Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io.
Do you want to treat yourself to learning algorithms in the same way that you would read your favorite novel? If so, this is the book you need!
Sankar Ramanathan, IBM Analytics
In today’s world, there is no aspect of our lives that isn’t optimized by some algorithm. Let this be the first book you pick up if you want a well-explained introduction to the topic.
Amit Lamba, Tech Overture, LLC
Algorithms are not boring! This book was fun and insightful for both my students and me.
Christopher Haupt, Mobirobo, Inc
NARRATED BY DEREK LETTMAN
Table of Contents
Chapter 1. Introduction to Algorithms
Chapter 1. A Better Way to Search
Chapter 1. Algorithm running times grow at different rates
Chapter 1. Some common Big O run times
Chapter 2. Selection Sort
Chapter 2. Terminology
Chapter 3. Recursion
Chapter 3. The Stack
Chapter 4. Quicksort - 1st part
Chapter 4. Quicksort - 2nd part
Chapter 4. Big O notation revisited
Chapter 5. Hash Tables
Chapter 5. Use Cases
Chapter 5. Collisions
Chapter 5. Performance
Chapter 6. Breadth-first Search
Chapter 6. Finding the shortest path
Chapter 6. Implementing the graph
Chapter 7. Dijkstra’s algorithm
Chapter 7. Trading for a piano
Chapter 7. Negative-weight edges
Chapter 8. Greedy Algorithms
Chapter 8. Approximation algorithms
Chapter 8. NP-complete problems
Chapter 9. Dynamic Programming - 1st part
Chapter 9. Dynamic programming - 2nd part
Chapter 9. Can you steal fractions of an item?
Chapter 9. Longest common substring
Chapter 10. K-nearest neighbors
Chapter 10. Regression
Chapter 10. OCR
Chapter 11. Where to go next
Chapter 11. MapReduce
Chapter 11. The SHA algorithms
Chapter 11. Diffie-Hellman key exchange