The Algorithm Design Manual
About the Book
Programming Challenges

The Stony Brook Algorithm Repository

Steven Skiena
Stony Brook University
Dept. of Computer Science

1.4.7 Eulerian Cycle / Chinese Postman

Problem Input | Problem Output

INPUT                    OUTPUT

Input Description: A graph G=(V,E).}

Problem: Find the shortest tour of G visiting each edge at least once.

Excerpt from The Algorithm Design Manual: Suppose you are given the map of a city and charged with designing the routes for garbage trucks, snow plows, or postmen. In all of these applications, every road in the city must be completely traversed at least once in order to ensure that all deliveries or pickups are made. For efficiency, you seek to minimize total drive time, or equivalently, the total distance or number of edges traversed.

Such applications are variants of the Eulerian cycle problem, best characterized by the children's puzzle that asks them to draw a given figure completely without lifting their pencil off the paper and without repeating any edges. We seek a path or cycle through a graph that visits each edge exactly once.


  • Prof Harold Thimbleby's The Chinese Postman Problem (Java, Mathematica) (rating 9)
  • GOBLIN: A Graph Object Library for Network (C++) (rating 8)
  • Chinese Postman WWW Page (C++) (rating 4)
  • Nijenhuis and Wilf: Combinatorial Algorithms (FORTRAN) (rating 3)
  • Combinatorica (Mathematica) (rating 3)

  • Recommended Books

    An Introduction to Parallel Algorithms by Joseph Jaja Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica by S. Pemmaraju and S. Skiena Introduction to Algorithms by U. Manber
    Graph Algorithms by S. Even Combinatorial Optimization: Networks and Matroids by E. Lawler Graph Theory 1736-1936 by N. L. Biggs and E. K. Lloyd and R. J. Wilson
    Graphical enumeration by F. Harary and E. Palmer Recreations Mathematiques by E. Lucas

    Related Problems

    Hamiltonian Cycle

    This page last modified on 2008-07-10 .