Как получить слабосвязанные компоненты из ориентированного графа буста? - PullRequest
1 голос
/ 28 января 2020

У меня есть следующий буст-ориентированный граф:

boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, VertexObjectPtr, EdgeObjectPtr>

И я бы хотел перебрать его слабо связанные компоненты без необходимости делать неориентированные копии. Boost предоставляет метод для его вычисления для неориентированных графов по всем connected_components , но он действителен только для неориентированных графов. Существует также strong_components для ориентированных графов, но нет метода слабых_компонентов .

Есть ли способ получить неориентированное представление график? Будет работать пользовательский подход, основанный на DFS, но я не хотел бы писать собственный код для этого.

...