是否可以对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设施。