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
Jeremy Kubica is an engineer director specializing in artificial intelligence and machine learning. He received a Ph.D. in Robotics from Carnegie Mellon University and a BS in Computer Science from Cornell University. He spent his graduate school years creating algorithms to detect killer asteroids (actually stopping them was, of course, left as future work ). He is the author of multiple books designed to introduce people to computer science, including Computational Fairy Tales and The CS Detective, as well as the Computational Fairy Tales Blog.