C++ C++;Boost图形库:-指定DFS的根节点

C++ C++;Boost图形库:-指定DFS的根节点,c++,depth-first-search,boost-graph,C++,Depth First Search,Boost Graph,在有向图上使用标准 std::vector<size_type> dtime(N); std::vector<size_type> ftime(N); size_type t = 0; dfs_time_visitor<size_type*> vis(&dtime[0], &ftime[0], t); depth_first_search(graph, visitor(vis)); std::vector dtime(N); std::向量f

在有向图上使用标准

std::vector<size_type> dtime(N);
std::vector<size_type> ftime(N);
size_type t = 0;
dfs_time_visitor<size_type*> vis(&dtime[0], &ftime[0], t);
depth_first_search(graph, visitor(vis));
std::vector dtime(N);
std::向量ftime(N);
尺寸_类型t=0;
dfs_time_vis(&dtime[0],&ftime[0],t);
深度优先搜索(图形、访客(vis));
似乎总是从节点0启动dfs

如何告诉算法从已知的“根节点”开始?

您可以找到
深度优先搜索的所有重载列表。你需要的是“版本”。您需要使用的参数是“根顶点”,调用
depth\u first\u search
只需:

depth_first_search(graph, visitor(vis).root_vertex(root_vertex_descriptor));

刚试过,但出现了一个编译错误…我们编辑了OP以反映这一点。对不起,伙计们,这是错误。我在这个函数调用上面有几行代码,它们与其他东西有关。谢谢你的帮助,非常感谢。我发现Boost Graph的参考资料真的很难理解/找到我要找的内容,而且很少有例子不只是运行一个非常基本的调用。如果出错,请添加看似不可读的编译器错误。
dfs\u time\u访问者
与常规dfs\u访问者有何不同?第一条错误消息显示
g
未定义。什么是
g
?我的错。是这个函数调用上面几行的代码,与其他内容相关。