About the Authors...................................................................................
GeorgeT.Heinemanis an associate professor of computer science at Worcester
Polytechnic Institute. His research interests are in software engineering. He co-
edited the 2001 bookComponent-Based Software Engineering: Putting the Pieces
Together(Addison-Wesley). George was the program chair for the 2005 Interna-
tional Symposium on Component-Based Software Engineering.
Gary Polliceis a self-labeled curmudgeon (that’s a crusty, ill-tempered, usually
old man) who spent more than 35 years in industry trying to figure out what he
wanted to be when he grew up. Even though he hasn’t grown up yet, he did make
the move in 2003 to the hallowed halls of academia, where he has been corrupting
the minds of the next generation of software developers with radical ideas like,
“develop software for your customer,” “learn how to work as part of a team,”
“design and code quality and elegance and correctness counts,” and “it’s OK to be
a nerd as long as you are a great one.”
Gary is a professor of practice (meaning he had a real job before becoming a
professor) at Worcester Polytechnic Institute. He went to WPI because he was so
impressed with the WPI graduates that he’s worked with over the years. He lives
in central Massachusetts with his wife, Vikki, and their two dogs, Aloysius and
Ignatius. When not working on geeky things he... well he’s always working on
geeky things. You can see what he’s up to by visiting his WPI home page,
http://web.cs.wpi.edu/~gpollice/. Feel free to drop him a note and complain or
cheer about the book.
Stanley Selkow, a professor of computer science at Worcester Polytechnic Insti-
tute, received a B.S. in electrical engineering from Carnegie Institute of Technology
in 1965, and a Ph.D. in the same area from the University of Pennsylvania in 1970.
From 1968 to 1970 he was in the public health service at the National Institutes of
Health at Bethesda, Maryland. Since 1970 he has been on the faculty at universities
in Knoxville, Tennessee and Worcester, Massachusetts, as well as Montreal,
Chonqing, Lausanne, and Paris. His major research has been in graph theory and
algorithm design.
Colophon................................................................................................
The animal on the cover ofAlgorithms in a Nutshellis a hermit crab (Pagurus
bernhardus). More than 500 species of hermit crabs exist. Mostly aquatic, they
live in saltwater in shallow coral reefs and tide pools. Some hermit crabs,
however, especially in the tropics, are terrestrial. The robber crab, which can grow
as large as a coconut, is one such example. Even terrestrial hermit crabs carry a
small amount of water in their shells to help them breathe and keep their abdo-
mens moist.
Unlike true crabs, hermit crabs do not have a hard shell of their own and must
seek refuge from predators in the abandoned shells of gastropods (snails). They
are particularly fond of the discarded shells of periwinkles and whelks. As they
grow bigger, they have to find a new shell to inhabit. Leaving any part of them-
selves exposed would make them more susceptible to predators; in addition, not
Algorithms in a Nutshell
Algorithms in a Nutshell By Gary Pollice, George T. Heineman, Stanley Selkow ISBN:
9780596516246 Publisher: O'Reilly Media, Inc.
Prepared for Ming Yi, Safari ID: [email protected]
Licensed by Ming Yi
Print Publication Date: 2008/10/21 User number: 594243
© 2009 Safari Books Online, LLC. This PDF is made available for personal use only during the relevant subscription term, subject to the Safari Terms of Service. Any other use
Licensed by
Ming Yi