Hi all,
In order to find the depth of a source_node from other nodes in my graph,
without weights, I use this simple example of the bacon BFS visitor via the
tree_edge(). I also count the number of nodes from that source.
////////
class bfs_vis : public boost::default_bfs_visitor
{
public:
bfs_vis(unGraph::vertex_descriptor source, boost::shared_ptr<
VertexStorage> storage) : s(source), cont(storage) { }
template
void tree_edge(Edge e, const Graph& g) const
{
typename boost::graph_traits<Graph>::vertex_descriptor
u = source(e, g), v = target(e, g);
cont->depth_from->at(v) = cont->depth_from->at(u) + 1.0;
}
template
void discover_vertex(Edge e, Graph& g)
{
cont->node_count = cont->node_count + 1;
}
private:
boost::shared_ptr<VertexStorage> cont;
unGraph::vertex_descriptor s;
};
////////
What would be an equivalent visitor for Dijkstra? Node count is ok but how
do I calculate a "weighted bacon number" with dijkstra
(boost::property)??
Thanks,
Tasos