technology researchwith special emphasis on algorithm visualization systems michael goodrich received his ph in computer science from purdue university in he is currently professor in the department of computer science at university of californiairvine previouslyhe was professor at johns hopkins university he is an editor for the international journal of computational geometry applications and journal of graph algorithms and applications roberto tamassia received his ph in electrical and computer engineering from the university of illinois at urbana-champaign in he is currently professor in the department of computer science at brown university he is editor-in-chief for the journal of graph algorithms and applications and an editor for computational geometrytheory and applications he previously served on the editorial board of ieee transactions on computers in addition to their research accomplishmentsthe authors also have extensive experience in the classroom for exampledr goodrich has taught data structures and algorithms coursesincluding data structures as freshman-sophomore level course and introduction to algorithms as an upper level course he has earned several teaching awards in this capacity his teaching style is to involve the students in lively interactive classroom sessions that bring out the intuition and insights behind data structuring and algorithmic techniques dr tamassia has taught data structures and algorithms as an introductory freshman-level course since one thing that has set his teaching style apart is his effective use of interactive hypermedia presentations integrated with the web the instructional web sitesdatastructures net and algorithmdesign netsupported by drs goodrich and tamassiaare used as reference material by studentsteachersand professionals worldwide acknowledgments there are number of individuals who have made contributions to this book we are grateful to all our research collaborators and teaching assistantswho provided feedback on early drafts of and have helped us in developing exercisesprogramming assignmentsand algorithm animation systems in particularwe would like to thank jeff achtervesselin arnaudovjames bakerryan baker,benjamin boermike boilendevin borlandlubomir bourdevstina bridgemanbryan cantrillyi-jen chiangrobert cohendavid ellisdavid emoryjody fantoben finkelashim gargnatasha gelfandmark handymichael hornbeno^it hudsonjovanna ignatowiczseth padowitzjames piechotadan polivyseth proctorsusannah raubharu sakaiandy schwerinmichael shapiromikeshimmichael shingalina shubinachristian straubye