Explore the realm of graph algorithms, focusing on their application to solve various intriguing computational challenges. This book guides readers through essential data structures, providing insights into when and how to effectively utilize them in diverse scenarios.
Learn how and when to use the right data structures in any situation, strengthening your computational thinking, problem-solving, and programming skills in the process. 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. You’ll learn how to work with more than 15 key data structures, from stacks, queues, and caches to bloom filters, skip lists, and graphs. You’ll also master linked lists by virtually standing in line at a cafe, hash tables by cataloging the history of the summer Olympics, and Quadtrees by neatly organizing your kitchen cabinets, all while becoming familiar with basic computer science concepts, like recursion and running time analysis.
Meet Frank Runtime. Disgraced ex-detective. Hard-boiled private eye. Search expert. When a robbery hits police headquarters, it’s up to Frank Runtime and his extensive search skills to catch the culprits. In this detective story, you’ll learn how to use algorithmic tools to solve the case. Runtime scours smugglers’ boats with binary search, tails spies with a search tree, escapes a prison with depth-first search, and picks locks with priority queues. Joined by know-it-all rookie Officer Notation and inept tag-along Socks, he follows a series of leads in a best-first search that unravels a deep conspiracy. Each chapter introduces a thrilling twist matched with a new algorithmic concept, ending with a technical recap. Perfect for computer science students and amateur sleuths alike, The CS Detective adds an entertaining twist to learning algorithms. Follow Frank’s mission and learn: –The algorithms behind best-first and depth-first search, iterative deepening, parallelizing, binary search, and more –Basic computational concepts like strings, arrays, stacks, and queues –How to adapt search algorithms to unusual data structures –The most efficient algorithms to use in a given situation, and when to apply common-sense heuristic methods