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.
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 containerthe 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