Acknowledgments

First and foremost, I am grateful to Marie Lufkin Lee at the MIT Press for coming up with the idea for this book, Stephanie Cohen for goading me gently through the process, Cindy Milstein for her meticulous editing, and Virginia Crossman for her excellent attention to detail and taking care of everything. A book on algorithms should be part of the Essential Knowledge series, and I am proud that I am the one to write it.

I extend my thanks to Diomidis Spinellis for commenting on parts of the book, and my special appreciation to Konstantinos Marinakos, who read the manuscript, spotted embarrassing bugs, and offered generous suggestions for improvements.

Finally, I want to express my gratitude to two teenagers, Adrianos and Ektor, whose lives will to such an extent be determined by the subject matter of this book, and their mother, Eleni; they enabled me to make this happen.