Don't be perplexed by data structures! This fun, friendly, and fully illustrated guide makes it easy to learn useful data structures you'll put to work every day. Grokking Data Structures makes it a breeze to learn the most useful day-to-day data structures. You'll follow a steady learning path from absolute basics to advanced concepts, all illustrated with fun examples, engaging industry stories, and hundreds of graphics and cartoons.
In
Grokking Data Structures you'll learn how to:
- Understand the most important and widely used data structures
- Identify use cases where data structures make the biggest difference
- Pick the best data structure solution for a coding challenge
- Understand the tradeoffs of data structures and avoid catastrophes
- Implement basic data collections like arrays, linked lists, stacks, and priority queues
- Use trees and binary search trees (BSTs) to organize data
- Use graphs to model relationships and learn about complex data
- Efficiently search by key using hash tables and hashing functions
- Reason about time and memory requirements of operations on data structures
Grokking Data Structures carefully guides you from the most basic data structures like arrays or linked lists all the way to powerful structures like graphs. It's perfect for beginners, and you won't need anything more than high school math to get started. Each data structure you encounter comes with its own complete Python implementation so you can start experimenting with what you learn right away.
Foreword by Daniel Zingaro.
Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.
About the technology Data structures are vital for shaping and handling your data organization. They're also an important part of most IT job interviews! Whether you're new to data structures or just dusting off what you learned in school, this book will get you up to speed fast with no advanced math, abstract theory, or complicated proofs.
About the book Grokking Data Structures introduces common and useful data structures that every developer needs to know. Real-world examples show you how data structures are used in practice, from making your searches faster to handling triage in an emergency room. You'll love the fun cartoons, insightful stories, and useful Python code samples that make data structures come alive. And unlike jargon-laden academic texts, this book is easy-to-read and practical.
What's inside - Fast searches using hash tables
- Trees and binary search trees (BSTs) to organize data
- Use graphs to model complex data
- The best data structures for a coding challenge
About the reader For readers who know the basics of Python. A perfect companion to Grokking Algorithms!
About the author Marcello La Rocca is a research scientist and a full-stack engineer. He has contributed to large-scale web applications and machine learning infrastructure at Twitter, Microsoft, and Apple.
The technical editor on this book was
Beau Carnes.
Table of Contents 1 Introducing data structures: Why you should learn about data structures
2 Static arrays: Building your first data structure
3 Sorted arrays: Searching faster, at a price
4 Big-O notation: A framework for measuring algorithm efficiency
5 Dynamic arrays: Handling dynamically sized datasets
6 Linked lists: A flexible dynamic collection
7 Abstract data types: Designing the simplest container--the bag
8 Stacks: Piling up data before processing it
9 Queues: Keeping information in the same order as it arrives
10 Priority queues and heaps: Handling data according to its priority
11 Binary search trees: A balanced container
12 Dictionaries and hash tables: How to build and use associative arrays
13 Graphs: Learning how to model complex relationships in data
Author: Marcello La Rocca
Publisher: Manning Publications
Published: 08/13/2024
Pages: 280
Binding Type: Paperback
Weight: 1.05lbs
Size: 9.20h x 7.20w x 0.60d
ISBN: 9781633436992
About the AuthorMarcello La Rocca is a research scientist and a full-stack engineer. His focus is on optimization algorithms, genetic algorithms, machine learning, and quantum computing.