rak*_*kun 2 c++ boost boost-graph
我想使用深度优先搜索算法。由于我需要指定起始顶点的 DFS 版本,因此我还必须定义一个 ColorMap。这就是我想使用的功能:
template <class Graph, class DFSVisitor, class ColorMap>
void depth_first_search(const Graph& g, DFSVisitor vis, ColorMap color,
typename graph_traits<Graph>::vertex_descriptor start)
Run Code Online (Sandbox Code Playgroud)
https://www.boost.org/doc/libs/1_67_0/libs/graph/doc/depth_first_search.html
由于地图与我无关,因此默认值ColorMap就足够了。您能否给我一个提示,如何创建它并将其作为深度优先搜索中的参数传递?
只需使用命名参数重载即可,这将允许您在仅使用默认颜色贴图时指定起始顶点。
template <class Graph, class class P, class T, class R>
void depth_first_search(Graph& G, const bgl_named_params<P, T, R>& params);
Run Code Online (Sandbox Code Playgroud)
例子:
boost::depth_first_search(graph, boost::root_vertex(start_vertex));
Run Code Online (Sandbox Code Playgroud)