Можно ли бежать connected_components()
против двунаправленного графа (построенный с ::boost::bidirectionalS
) в лвл? Я получаю нарушение сегментации при запуске чего-то подобного с графиком, построенным таким образом:
int num_comp = connected_components(g,
make_iterator_property_map(component.begin(), get(vertex_index, g)));
Это неудивительно, поскольку в документации указано, что его можно использовать только против неориентированного графа.
В противном случае возможно ли использовать один из алгоритмов поиска (BFS или DFS) в обратный направление? Например, я хотел бы начать свой поиск с конечной вершины (без исходящих ребер) и работать в обратном направлении.
Возможно, я тоже задаю неправильный вопрос: я пытаюсь найти подграф всех вершин, имеющих путь к данной конечной вершине. Есть ли более прямой способ сделать это с BGL?
Конечно, я могу все это делать самостоятельно, но я бы предпочел использовать средства BGL, если смогу.
Задача ещё не решена.
Других решений пока нет …