There are a number of individuals who have made contributions to this book. Many students have used the related textbook DSAJ, and their experiences and responses have helped shape it. We are grateful to all our research collaborators and teaching assistants who provided feedback on early drafts of book chapters and have helped us in developing exercises, programming assignments, and algorithm animation systems. In particular, we would like to thank Jeff Achter, James Baker, Ryan Baker, Benjamin Boer, Lubomir Bourdev, Stina Bridgeman, Bryan Cantrill, Yi-Jen Chiang, Robert Cohen, Jody Fanto, Ashim Garg, Natasha Gelfand, Mark Handy, Michael Horn, Benoit Hudson, Jovanna Ignatowicz, Seth Padowitz, Michael Shapiro, Galina Shubina, Nikos Triandopoulos, and Luca Vismara.
There have been a number of friends and colleagues whose comments have lead to improvements in the text. We are particularly thankful to Evan Golub, Karen Goodrich, Larry Herman, Charles Lin, Art Moorshead, Nelson Padua-Perez, and Scott Smith for their insightful comments. We are also truly indebted to the outside reviewers and readers for their comments and constructive criticism.
We are grateful to our editors, Paul Crockett and Bill Zobrist, for their enthusiastic support of this project. The production team at Wiley has been great. Many thanks go to Simon Durkin, Katherine Hepburn, Ken Santor, Jeri Uzzo, and Jovan Yglecias.
The advanced computing environments and excellent technical staff in our departments at UCI, Brown, and UMD gave us a reliable working environment. This manuscript was prepared with LATEX for the text and Adobe FrameMaker® and Microsoft Visio® for the figures. Code fragments were processed using lgrind.
Finally, we would like to warmly thank Isabel Cruz, Karen Goodrich, Jeanine Mount, Giuseppe Di Battista, Franco Preparata, Ioannis Tollis, and our parents for providing advice, encouragement, and support during the preparation of this book. We also thank them for reminding us there are things in life beyond writing books.