This WWW page is intended to serve as a comprehensive collection of
algorithm implementations for over seventy of the most fundamental problems
in combinatorial algorithms.
The problem taxonomy, implementations, and supporting material
are all drawn from my book
The Algorithm Design Manual.
Since the practical person is more often looking for a program than
an algorithm,
we provide pointers to solid implementations of useful algorithms, when
they are available.

Because of the volatility of the WWW, we provide local copies for
many of the implementations.
We encourage you to
get them from the original sites instead of Stony Brook, because
the version on the original site is more likely to be maintained.
Further, there are often supporting files and documentation which
we did not copy, and which may be of interest to you.
The local copies of large implementations are maintained as gzip tar
archives and, where available, DOS zip archives.
Software for decoding these formats is readily
available.

Many of these codes
have been made available for research or educational use,
although commercial
use requires a licensing arrangement with the author.
Licensing terms from academic institutions are usually surprisingly modest.
The recognition that industry is using a particular code is
important to the authors, often more important than the money.
This can lead to enhanced support or future releases of the software.
Do the right thing and get a license -- information about terms or who
to contact is usually available embedded within the documentation,
or available at the original source site.

Use at your own risk.
The author, Springer-Verlag, and the State University of New York
make no representations, express or implied,
with respect to any software or documentation we describe.
The authors, Springer-Verlag, and the State University of New York
shall in no event be liable
for any indirect, incidental, or consequential damages.