Algorithms and Complexity
In Theorem 1.3.1 we gave a characterization for Eulerian graphs: A graph G is Eulerian if and only if each vertex of G has even degree. This condition is easy to verify for any given graph. But how can we find an Euler tour in an Eulerian graph? The proof of Theorem 1.3.1 only shows that such a tour exists, but does not tell us how to find it (though it contains a hint of how to achieve this). We are looking for a method for constructing an Euler tour, an ‘algorithm’. In this book we generally look at problems from the algorithmic point of view: we want more than just theorems about existence or structure. As Lüneburg (1982) said: It is important that we can finally compute the objects we are working with. However, we will not go as far as giving concrete programs (in PASCAL, say); our algorithms will be described in a less formal way. Our main goal is to give an overview over the basic methods used in a very large area of mathematics; we can only achieve this (without exceeding the limits of this book) by omitting the details of programming techniques. Readers interested in concrete programs are referred to Syslo, Deo and Kowalik (1983) and Nijenhuis and Wilf (1978), where programs in PASCAL and FORTRAN, respectively, can be found.
KeywordsPolynomial Time Decision Problem Directed Graph Adjacency Matrix Hamiltonian Cycle
Unable to display preview. Download preview PDF.