Algorithms Unplugged presents 41 articles designed to communicate the fascination of algorithms to high-school students and interested adults. Indeed, most of us will easily find something fascinating here. Each article is short, although they vary somewhat in size and in details presented. The arguments are intuitive rather than formal. The topics bridge computer science and mathematics so that readers can proceed from here in either direction.
Each of the four parts, I. Searching and Sorting, II. Arithmetic and Encryption, III. Planning, Coordination, and Simulation, and IV. Optimization has an introduction written by the editors. Each article has very useful references to further reading both within this volume and external sources. There are a number of illustrations some in color. This is a wonderful resource for students as each chapter can be the basis for further study and research projects.
Topics vary in familiarity. For example, Part I includes Binary Seach but also Parallel Sorting and a simple introduction to finding relevant web pages called “PageRank — What is Really Relevant in the World-Wide Web?” Part II includes a very nice treatment of the sieve of Eratosthenes for computing prime numbers. This article starts with a simple algortihm and improves it successively by a factor of 254.5 million. The article on the one-time pad algorithm for encryption, like several of the articles, uses a story to introduce the idea which makes it easy to absorb. The Fingerprinting article uses the example of comparing long texts over the telephone, illustrating the usefulness of randomness. Part III contains a diverse selection including “Majority — Who Gets Elected Class Rep?” which shows how to find a majority element without counting all the votes. It also includes “Gauss-Seidel Iterative Method for the Computation of Physical Problems” and an article on tournament scheduling.
Every library used by computer science or mathematics students should include Algorithms Unplugged. It admirably achieves its purpose of engaging readers and making a book on algorithms fun to read. Many readers will be motivated to explore further.
Art Gittleman (firstname.lastname@example.org) is Professor of Computer Science at California State University Long Beach.