|
Boost Users : |
Subject: [Boost-users] [Graph] "Weighted Bacon number" (depth from node) with dijkstra visitor
From: The Maschine (justthemaschine_at_[hidden])
Date: 2013-02-04 06:52:09
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 <typename Edge, typename Graph>
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 <typename Edge, typename Graph>
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<boost::edge_weight_t, float>)??
Thanks,
Tasos
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