Boost logo

Boost Users :

From: Tarjei Knapstad (tarjeik_at_[hidden])
Date: 2003-03-03 12:51:34


In an algorithm I'm working on I need to do an undirected_dfs using a
visitor for analysis. I know my starting vertex, and I also want the DFS
to skip one of the starting vertex's adjacent vertices (i.e. don't
proceed in the "direction" from the starting vertex). Example:

      d-e-f
     /
a-b-c
     \
      g-h-i

Starting vertex is 'c' and I want to eliminate the "d-e-f" branch, so
the DFS finds "c-b-a" and "c-g-h-i".

My first idea was to set up a vertex color map, and set the color to
black for vertex 'd' in the example above, but that doesn't do much good
as the undirected_dfs sets all colors to white initially.

My second thought was to feed the vertex I want to eliminate and the
vertex color map to my dfs_visitor implementation, something like:

discover_vertex(u, g)
{
   if (u == blocked)
   {
      vertex_colormap[u] = black;
   }
}

Will the latter approach work satisfactory? If not, is there some other
way which I can use to precondition the color maps used in the BGL
algorithms?

Thanks,

--
Tarjei

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net