Ellis Horowitz, Sartaj Sahni and Sanguthevar Rajasekaran
W. H. Freeman, New York, 1998, 700 pp.
C++ version (1997): ISBN 0-7167-8315-0, $55.00
Pseudocode version (1998): ISBN 0-7167-8316-9, $55.00
This book is a thoroughly revised and updated edition of the best-selling book Fundamentals of Computer Algorithms. Randomization techniques are appropriately introduced and randomized algorithms are fully integrated into the book in most of the chapters. This is the first book that thoroughly treats both the deterministic and randomized aspects of algorithm design and analysis. The collection of algorithms is more comprehensive than its forerunner. Several new topics, such as convex hull, tree vertex splitting, and string editing, are added to the appropriate chapters. Parallel algorithms, including PRAM algorithms, mesh algorithms, and hypercube algorithms, are also included in this new edition. This complements the algorithm collection and leads the reader to the forefront of computer science research in the areas of algorithm design and computational complexity. Problems have been carefully selected from those which frequently arise in computer applications. Algorithm design and analysis techniques are introduced clearly and concisely. In the C++ version, algorithms have been implemented in C++, and the code is neat. This version is suitable for everyone who has programming background and needs to test the algorithms for education or research purpose. In its companion version, algorithms are presented as pseudo code. The pseudo code version is suitable for those who are only interested in algorithm design and analysis. It is designed as a textbook for a computer algorithm course for both undergraduate and graduate students. It is useful for students to find deterministic and randomized approach to algorithm design and analysis in the same book. Professional programmers, software designers, and computer scientists will also find this book useful.
David S. L. Wei,
Dept. of Computer & Information Sciences