Introduction
Chapter 1: Information in Memory
Chapter 2: Binary Search
Chapter 3: Dynamic Data Structures
Chapter 4: Stacks and Queues
Chapter 5: Binary Search Trees
Chapter 6: Tries and Adapting Data Structures
Chapter 7: Priority Queues and Heaps
Chapter 8: Grids
Chapter 9: Spatial Trees
Chapter 10: Hash Tables
Chapter 11: Caches
Chapter 12: B-Trees
Chapter 13: Bloom Filters
Chapter 14: Skip Lists
Chapter 15: Graphs
Conclusion
Data Structures the Fun Way
Download Chapter 5: BINARY SEARCH TREES
Look Inside!
This accessible and entertaining book provides an in-depth introduction to computational thinking through the lens of data structures — a critical component in any programming endeavor. Through diagrams, pseudocode, and humorous analogies, you’ll learn how the structure of data drives algorithmic operations, gaining insight into not just how to build data structures, but precisely how and when to use them.
This book will give you a strong background in implementing and working with more than 15 key data structures, from stacks, queues, and caches to bloom filters, skip lists, and graphs. Master linked lists by standing in line at a cafe, hash tables by cataloging the history of the summer Olympics, and Quadtrees by neatly organizing your kitchen cabinets. Along with basic computer science concepts like recursion and iteration, you’ll learn:
- The complexity and power of pointers
- The branching logic of tree-based data structures
- How different data structures insert and delete data in memory
- Why mathematical mappings and randomization are useful
- How to make tradeoffs between speed, flexibility, and memory usage
Data Structures the Fun Way shows how to efficiently apply these ideas to real-world problems—a surprising number of which focus on procuring a decent cup of coffee. At any level, fully understanding data structures will teach you core skills that apply across multiple programming languages, taking your career to the next level.
"The perfect book for novice programmers as well as developers who want to improve their knowledge of key software concepts."
—Ben Dickson, TechTalks
"Clear and fun to someone learning the topics for the first time. . . . overall a great read."
—Jeanne Boyarsky, CodeRanch
"A good book to read from beginning to end . . . a nice quick reference for reading about data structures, the complexity of each one, and for what is useful or not!"
—Eduardo Blázquez, @Farenain, COSEC Lab at Charles III University of Madrid
"Good overview of data structures, intuitive with good visualizations."
—Lucille E Nguyen, Computational Social Scientist
"A fun intro to the topic for self-taught programmers and data scientists."
—Crow Intelligence
“Great sense of humor, excellent analogies to the data structures in the real world . . . Overall excellent intro. Fun to read and learn from.”
—GeoffDantes09, Amazon Reviewer
Check out Jeremy's interview on The Thought Cloud podcast.
Read Carnegie Mellon University's Alumni Profile on Jeremy and the book.
View the latest errata.