This book introduces graph algorithms on an intuitive basis followed by
a detailed exposition in a literate programming style, with correctness
proofs as well as worst-case analyses. Full C++ implementations of all
algorithms presented are given using the LEDA library of efficient data
structures and algorithms.