У меня есть график, представленный списком смежности. Я применяю для этого алгоритм 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)
);