Image from Amazon Title: The CS Detective
Author(s): Jeremy Kubia
Publisher: No Starch Press
No Starch wrote: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
“The CS Detective” is a fun book for learning about algorithms and performance. It's not language specific and it is easy to read. The book uses a story to tie together the algorithms. The story is about a detective who needs to find out who stole documents. It's actually a good story.
The analogies while introducing the algorithms are very well thought out. I like the actual maze for back tracking and the array cart for transporting animals. There are fun references sprinkled throughout like the Brazen Booleans – want to guess that type of answers they give? And the Port of USB. There were also some references that are nice for parents reading this with a child (Intro to Turtle Graphics). The detective meets some fun characters like a wizard.
While I knew most of what was in the book, I hadn't learned (or had forgotten) about iterative deepening so I learned something new.
I read this book so I could recommend it to teenagers starting out with algorithms. It definitely fit the bill. I think adults would enjoy it as well. It's like Head First – fun to read and easy to retain the info. Then there's the interest to go read a harder book. The first half of this book is provided online by the publisher so you can decide for yourself if you like the style.
I give this book 10 out of 10 horseshoes.
Disclosure: I received a review copy of this book from the publisher for reviewing it on behalf of CodeRanch.