An algorithm to generate all spanning trees of a graph in order of increasing cost
Autor(a) principal: | |
---|---|
Data de Publicação: | 2005 |
Outros Autores: | |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | Pesquisa operacional (Online) |
Texto Completo: | http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382005000200004 |
Resumo: | 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. |
id |
SOBRAPO-1_ae820be0b48720aa8a9e028bf8b47a6f |
---|---|
oai_identifier_str |
oai:scielo:S0101-74382005000200004 |
network_acronym_str |
SOBRAPO-1 |
network_name_str |
Pesquisa operacional (Online) |
repository_id_str |
|
spelling |
An algorithm to generate all spanning trees of a graph in order of increasing costweighted spanning treesenumerationcomputational complexityA 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.Sociedade Brasileira de Pesquisa Operacional2005-08-01info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersiontext/htmlhttp://old.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382005000200004Pesquisa Operacional v.25 n.2 2005reponame:Pesquisa operacional (Online)instname:Sociedade Brasileira de Pesquisa Operacional (SOBRAPO)instacron:SOBRAPO10.1590/S0101-74382005000200004info:eu-repo/semantics/openAccessSörensen,KennethJanssens,Gerrit K.eng2005-09-13T00:00:00Zoai:scielo:S0101-74382005000200004Revistahttp://www.scielo.br/popehttps://old.scielo.br/oai/scielo-oai.php||sobrapo@sobrapo.org.br1678-51420101-7438opendoar:2005-09-13T00:00Pesquisa operacional (Online) - Sociedade Brasileira de Pesquisa Operacional (SOBRAPO)false |
dc.title.none.fl_str_mv |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
title |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
spellingShingle |
An algorithm to generate all spanning trees of a graph in order of increasing cost Sörensen,Kenneth weighted spanning trees enumeration computational complexity |
title_short |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
title_full |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
title_fullStr |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
title_full_unstemmed |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
title_sort |
An algorithm to generate all spanning trees of a graph in order of increasing cost |
author |
Sörensen,Kenneth |
author_facet |
Sörensen,Kenneth Janssens,Gerrit K. |
author_role |
author |
author2 |
Janssens,Gerrit K. |
author2_role |
author |
dc.contributor.author.fl_str_mv |
Sörensen,Kenneth Janssens,Gerrit K. |
dc.subject.por.fl_str_mv |
weighted spanning trees enumeration computational complexity |
topic |
weighted spanning trees enumeration computational complexity |
description |
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. |
publishDate |
2005 |
dc.date.none.fl_str_mv |
2005-08-01 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382005000200004 |
url |
http://old.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382005000200004 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
10.1590/S0101-74382005000200004 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
text/html |
dc.publisher.none.fl_str_mv |
Sociedade Brasileira de Pesquisa Operacional |
publisher.none.fl_str_mv |
Sociedade Brasileira de Pesquisa Operacional |
dc.source.none.fl_str_mv |
Pesquisa Operacional v.25 n.2 2005 reponame:Pesquisa operacional (Online) instname:Sociedade Brasileira de Pesquisa Operacional (SOBRAPO) instacron:SOBRAPO |
instname_str |
Sociedade Brasileira de Pesquisa Operacional (SOBRAPO) |
instacron_str |
SOBRAPO |
institution |
SOBRAPO |
reponame_str |
Pesquisa operacional (Online) |
collection |
Pesquisa operacional (Online) |
repository.name.fl_str_mv |
Pesquisa operacional (Online) - Sociedade Brasileira de Pesquisa Operacional (SOBRAPO) |
repository.mail.fl_str_mv |
||sobrapo@sobrapo.org.br |
_version_ |
1750318016572162048 |