Hi! I get a graph from graphviz data. I would like to pick up one node and compute all the distance(number of edge) from this node to the others. My graph is undirected and unvaluated. I have wrote a function but I get wrong results: The graph: 0 <--> 1 1 <--> 0 2 2 <--> 1 3 4 5 3 <--> 2 4 <--> 2 5 <--> 2 6 7 6 <--> 5 7 <--> 5 the distance from 0: 2 3 4 3 3 5 4 4 parent[0] = 1 parent[1] = 2 parent[2] = 5 parent[3] = 2 parent[4] = 2 parent[5] = 7 parent[6] = 5 parent[7] = 5 Here is my code: std::vector<Vertex> p(boost::num_vertices(g)); boost::graph_traits<GraphvizGraph>::vertices_size_type d[num_vertices(g)]; std::fill_n(d, num_vertices (g), 0); breadth_first_search (g, u, visitor(make_bfs_visitor (std::make_pair(record_predecessors(&p[0],on_examine_edge()),record_distanc= es(&d[0],on_examine_edge())))) ); do you see something wrong? regards /Jérémie