BGL でconnected_components()
( で構築された) 双方向グラフに対して実行することは可能ですか? ::boost::bidirectionalS
そのように構築されたグラフで次のようなものを実行すると、セグメンテーション違反が発生します。
int num_comp = connected_components(g,
make_iterator_property_map(component.begin(), get(vertex_index, g)));
これは驚くべきことではありません。ドキュメントによると、無向グラフに対してのみ使用できることが示されているからです。
それができない場合、検索アルゴリズム (BFS または DFS) のいずれかを逆方向に使用することは可能ですか? たとえば、終端の頂点 (アウトバウンド エッジのない頂点) から検索を開始し、逆方向に作業したいと考えています。
私も間違った質問をしている可能性があります。私がしようとしているのは、特定の終端頂点へのパスを持つすべての頂点のサブグラフを見つけることです。BGLでそれを行うより直接的な方法はありますか?
もちろん、すべて自分で行うこともできますが、できれば BGL 機能を使用したいと考えています。