|
Boost : |
From: Jeremy Siek (jsiek_at_[hidden])
Date: 2001-09-14 11:19:44
For those of you interesting in using the BGL transitive_closure
function...
Vladimir and I have been discussing two options for the interface
of transitive_closure:
(1) The 2-graph parameter version
transitive_closure(G, // IN
Gclose, // OUT
G_to_Gclose_vertex_map) // UTIL/OUT
or, using a default map:
transitive_closure(G, Gclose)
(2) The 1-graph parameter version
transitive_closure(G) // IN-OUT
Version (1) fills in the initially empty Gclose with the transitive
closure of G.
Version (2) deletes all the edges in G and then fills it back up again
with the transitive closure.
I like version (1) because it is a close match to the mathematical
abstraction, it uses to graphs, G and Gclose to model the two
mathematical objects G and G*.
Vladimir likes version (2) because he feels it is easier to use.
In terms of space/time efficiency, both versions are similar, though
version (2) may have a small advantage in terms of space.
Cheers,
Jeremy
----------------------------------------------------------------------
Jeremy Siek http://php.indiana.edu/~jsiek/
Ph.D. Student, Indiana Univ. B'ton email: jsiek_at_[hidden]
C++ Booster (http://www.boost.org) office phone: (812) 855-9761
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk