我有一个由邻接表表示的图。我为它应用 depth_first_visit 算法。一切正常。问题是该算法只访问与我的起点顶点相连的顶点。如果我有单独的顶点(没有任何连接),则不会遍历它们。当然,我已经通过找到未访问的顶点然后从它们开始算法来解决这个问题,但是在文档中写道,那些“分离的”顶点也应该被遍历。问题 - 我做错了什么吗?
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, Vertex, Edge > GraphType;
vector<default_color_type> color_map(num_vertices(m_graph));
depth_first_visit(
m_graph,
*vp.first,
custom_dfs_visitor(m_currentPath, visited),
make_iterator_property_map(
color_map.begin(),
get(vertex_index, m_graph),
color_map[0]),
Terminator(m_currentPath)
);