A guide to experimental algorithmics 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 Answering these questions needs ideas from algorithm design and analysis operating systems and memory hierarchies and statistics and data analysis. 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. 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 ccm alglab) contains downloadable files programs and tools for use in projects