"

Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today’s web and mobile apps. This book takes a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. Graphics and examples make these computer science concepts understandable and relevant. You can use these techniques with any language; examples in the book are in JavaScript, Python, and Ruby.

Use Big O notation, the primary tool for evaluating algorithms, to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You’ll even encounter a single keyword that can give your code a turbo boost. Jay Wengrow brings to this book the key teaching practices he developed as a web development bootcamp founder and educator.

Use these techniques today to make your code faster and more scalable.

"-  Preface
- 1. Why Data Structures Matter
- 2. Why Algorithms Matter
- 3. Oh Yes! Big O Notation
- 4. Speeding Up Your Code with Big O
- 5. Optimizing Code with and Without Big O
- 6. Optimizing for Optimistic Scenarios
- 7. Blazing Fast Lookup with Hash Tables
- 8. Crafting Elegant Code with Stacks and Queues
- 9. Recursively Recurse with Recursion
- 10. Recursive Algorithms for Speed
- 11. Node-Based Data Structures
- 12. Speeding Up All the Things with Binary Trees
- 13. Connecting Everything with Graphs
- 14. Dealing with Space Constraints