是否可以针对BGL中的双向图形(使用 ::boost::bidirectionalS 构建)运行 connected_components() ?当使用以这种方式构造的图形运行这样的东西时,我得到了分段违规:

int num_comp = connected_components(g,
    make_iterator_property_map(component.begin(), get(vertex_index, g)));

这并不奇怪,因为文档表明它只能用于无向图 .

如果不这样做,是否可以在反方向上使用其中一种搜索算法(BFS或DFS)?例如,我想在终端顶点(没有出站边缘的顶点)开始搜索并向后工作 .

我也可能会问错误的问题:我要做的是找到所有顶点的子图,其中包含指向给定终端顶点的路径 . 使用BGL有更直接的方法吗?

当然,我可以自己做所有这些,但如果可以的话,我更愿意使用BGL设施 .