Synopses & Reviews
Algorithmic puzzles are puzzles involving well-defined procedures for solving problems. This book will provide an enjoyable and accessible introduction to algorithmic puzzles that will develop the reader's algorithmic thinking.
The first part of this book is a tutorial on algorithm design strategies and analysis techniques. Algorithm design strategies -- exhaustive search, backtracking, divide-and-conquer and a few others -- are general approaches to designing step-by-step instructions for solving problems. Analysis techniques are methods for investigating such procedures to answer questions about the ultimate result of the procedure or how many steps are executed before the procedure stops. The discussion is an elementary level, with puzzle examples, and requires neither programming nor mathematics beyond a secondary school level. Thus, the tutorial provides a gentle and entertaining introduction to main ideas in high-level algorithmic problem solving.
The second and main part of the book contains 150 puzzles, from centuries-old classics to newcomers often asked during job interviews at computing, engineering, and financial companies. The puzzles are divided into three groups by their difficulty levels. The first fifty puzzles in the Easier Puzzles section require only middle school mathematics. The sixty puzzle of average difficulty and forty harder puzzles require just high school mathematics plus a few topics such as binary numbers and simple recurrences, which are reviewed in the tutorial.
All the puzzles are provided with hints, detailed solutions, and brief comments. The comments deal with the puzzle origins and design or analysis techniques used in the solution. The book should be of interest to puzzle lovers, students and teachers of algorithm courses, and persons expecting to be given puzzles during job interviews.
Review
"Algorithmic Puzzles by Anany Levitin and Maria Levitin is an interesting and novel style of puzzle book. The emphasis lies in training the reader to think algorithmically and develop new puzzle-solving skills: the majority of puzzles are problems where we are asked to find the shortest distance or the fewest moves to get from A to B, or construct a proof that a puzzle has no solution. the book provides plenty of puzzles to keep even the most avid problem-solvers busy for a long time, all with varying levels of difficulty and different styles/contexts. The solutions provided are comprehensive and explain themselves in a friendly, constructive manner, complete with illustrations. In addition to questions and answers, a section of brief hints is also provided to assist the reader in their puzzle-solving endeavours." -- Graham Wheeler, Significance
Synopsis
While many think of algorithms as specific to computer science, at its core algorithmic thinking is defined by the use of analytical logic to solve problems. This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In
Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with major corporations to show readers how to apply analytical thinking to solve puzzles requiring well-defined procedures.
The book's unique collection of puzzles is supplemented with carefully developed tutorials on algorithm design strategies and analysis techniques intended to walk the reader step-by-step through the various approaches to algorithmic problem solving. Mastery of these strategies--exhaustive search, backtracking, and divide-and-conquer, among others--will aid the reader in solving not only the puzzles contained in this book, but also others encountered in interviews, puzzle collections, and throughout everyday life. Each of the 150 puzzles contains hints and solutions, along with commentary on the puzzle's origins and solution methods.
The only book of its kind, Algorithmic Puzzles houses puzzles for all skill levels. Readers with only middle school mathematics will develop their algorithmic problem-solving skills through puzzles at the elementary level, while seasoned puzzle solvers will enjoy the challenge of thinking through more difficult puzzles.
About the Author
Anany Levitin is a professor of Computing Sciences at Villanova University. He is the author of a popular textbook on design and analysis of algorithms, which has been translated into Chinese, Greek, Korean, and Russian. He has also published papers on mathematical optimization theory, software engineering, data management, algorithm design, and computer science education.
Maria Levitin is an independent consultant. After some years working for leading software companies and developing business applications for large corporations, she now specializes in web-based applications and wireless computing.
Table of Contents
Preface
List of Puzzles
Tutorial Puzzles
Main Section Puzzles
1. Tutorials
General Strategies for Algorithm Design
Analysis Techniques
2. Puzzles
Easier Puzzles (#1 - #50)
Medium Dic culty Puzzles (51 - 110)
Harder Puzzles (#111 - 150)
3. Hints
4. Solutions
References
Design Strategy and Analysis Index
Index of Terms and Names