On Aug 2, 2010, at 10:46 AM, Anders Wallin wrote:
Hi all,
I have a graph where I start at a certain vertex and want to find the next undiscovered vertex at a maximum distance of 5 or so from the source vertex. Now I am running breadth_first_search() using a record_distances() visitor and I get the distances to all other vertices (say 10 000 of them) in my graph. This makes my algorithm slow, since I only need to know about vertices at a max distance of 5-6, not all of them. Is there a way of interrupting the algorithm when a certain predicate function supplied by me evaluates to true? (e.g. max distance reached, or a new interesting/valid vertex found, etc)
For this particular job I think I'd build a wrapper around your graph that presents the nearby sub-graph. I think there may already be a filtered_graph adaptor you can leverage in the BGL. -- David Abrahams BoostPro Computing http://boostpro.com