A Guide to Experimental Algorithmics
Catherine C. McGeoch
Cambridge University Press
Computational experiments on algorithms can supplement theoretical analysis by showing 
what algorithms, implementations, and speed-up methods work best for specific machines or problems. This book guides the reader through the nuts and bolts of the major experimental questions: What should I measure? What inputs should I test? How do I analyze the data? Answers to these questions draw on ideas from algorithm design and analysis, operating systems and memory hierarchies, and statistics and data analysis.&nbsp;<p>The wide-ranging discussion includes a tutorial on system clocks and CPU timers, a survey of strategies for tuning algorithms and data structures, a cookbook of methods for generating random combinatorial inputs, and a demonstration of variance reduction techniques. Numerous case studies and examples show how to apply these concepts.&nbsp;</p><p>All the necessary concepts in computer architecture and data analysis are covered so that
 the book can be used by anyone who has taken a course or two in data structures and algorithms. A companion website, AlgLab (www.cs.amherst.edu/alglab) contains downloadable files, programs, and tools for use in projects.</p><p><b>Dr. Catherine C. McGeoch</b> is the Beitzel Professor of Technology and Society in
 the Department of Computer Science at Amherst College. Professor McGeoch was co-founder (with David S. Johnson) in 1990 of the Discrete Mathematics and Theoretical Computer Science (DIMACS) Implementation Challenges. In 1999 she co-founded (with Michael Goodrich) the annual Workshop on Algorithm Engineering and Experimentation (ALENEX), sponsored by SIAM. She was Editor-in-Chief of the ACM Journal of Experimental Algorithmics from 2003 to 2008 and currently serves on the ACM Publications Board.<br></p>