  I will present a way to implement graph algorithms which is different from
traditional methods. This work was motivated by the belief that some ideas from
software engineering should be applied to graph algorithms. Re-usability of
software is an important and difficult problem in general, and this is
particularly true for graph algorithms. The scientific literature demonstrates
plenty of applications of graph algorithms as subroutines for other algorithms.
Moreover, many practical problems from various domains may be modeled as graph
problems and hence solved by means of graph algorithms. Chapter 2 introduces
some data structures that will be used in 5 basic graph algorithms in chapter
3. Chapter 4 discusses an implementation of a maximum cardinality matching
algorithm for general graphs. Chapter 5 explains some techniques in C++, which
are useful to implement the data structures and algorithms in an efficient way.
Finally chapter 6 contains some concluding remarks.
