Preface xix
I am truly indebted to the many reviewers of the various editions of this manu-
script. For the first edition these reviewers included J. David Bezek (University of
Evansville), Douglas Campbell (Brigham Young University), Karen Davis (Univer-
sity of Cincinnati), Vijay Kumar Garg (University of Texas – Austin), Jim Miller
(University of Kansas), Bruce Maxim (University of Michigan – Dearborn), Jeff
Parker (Agile Networks/Harvard), Dana Richards (George Mason University), Jack
Tan (University of Houston), and Lixin Tao (Concordia University). Without their
help, this book would contain many more technical errors and many fewer insights.
For the second edition, I wish to thank these reviewers: Gurdip Singh (Kansas
State University), Peter Allen (Columbia University), Robin Hill (University of
Wyoming), Norman Jacobson (University of California – Irvine), Ben Keller (East-
ern Michigan University), and Ken Bosworth (Idaho State University). In addition,
I wish to thank Neil Stewart and Frank J. Thesen for their comments and ideas for
improvement.
Third edition reviewers included Randall Lechlitner (University of Houstin,
Clear Lake) and Brian C. Hipp (York Technical College). I thank them for their
comments.
Without the hard work of many people at Prentice Hall, none of this would be
possible. Authors simply do not create printer-ready books on their own. Foremost
thanks go to Kate Hargett, Petra Rector, Laura Steele, and Alan Apt, my editors
over the years. My production editors, Irwin Zucker for the second edition, Kath-
leen Caren for the original C
++
version, and Ed DeFelippis for the Java version,
kept everything moving smoothly during that horrible rush at the end. Thanks to
Bill Zobrist and Bruce Gregory (I think) for getting me into this in the first place.
Others at Prentice Hall who helped me along the way include Truly Donovan, Linda
Behrens, and Phyllis Bregman. I am sure I owe thanks to many others at Prentice
Hall for their help in ways that I am not even aware of.
I wish to express my appreciation to Hanan Samet for teaching me about data
structures. I learned much of the philosophy presented here from him as well,
though he is not responsible for any problems with the result. Thanks to my wife
Terry, for her love and support, and to my daughters Irena and Kate for pleasant
diversions from working too hard. Finally, and most importantly, to all of the data
structures students over the years who have taught me what is important and what
should be skipped in a data structures course, and the many new insights they have
provided. This book is dedicated to them.
Clifford A. Shaffer
Blacksburg, Virginia