An algorithm to generate all spanning trees of a graph in order of increasing cost

A minimum spanning tree of an undirected graph can be easily obtained using classical algorithms by Prim or Kruskal. A number of algorithms have been proposed to enumerate all spanning trees of an undirected graph. Good time and space complexities are the major concerns of these algorithms. Most algorithms generate spanning trees using some fundamental cut or circuit. In the generation process, the cost of the tree is not taken into consideration. This paper presents an algorithm to generate spanning trees of a graph in order of increasing cost. By generating spanning trees in order of increasing cost, new opportunities appear. In this way, it is possible to determine the second smallest or, in general, the k-th smallest spanning tree. The smallest spanning tree satisfying some additional constraints can be found by checking at each generation whether these constraints are satisfied. Our algorithm is based on an algorithm by Murty (1967), which enumerates all solutions of an assignment problem in order of increasing cost. Both time and space complexities are discussed.

Saved in:
Bibliographic Details
Main Authors: Sörensen,Kenneth, Janssens,Gerrit K.
Format: Digital revista
Language:English
Published: Sociedade Brasileira de Pesquisa Operacional 2005
Online Access:http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382005000200004
Tags: Add Tag
No Tags, Be the first to tag this record!