3

在有向图上使用标准,

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));

似乎总是从节点 0 开始 dfs。

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

4

1 回答 1

9

在这里你可以找到所有重载的列表depth_first_search。您需要的是“命名参数版本”。您需要使用的参数是“root_vertex”,您的调用depth_first_search将只是:

depth_first_search(graph, visitor(vis).root_vertex(root_vertex_descriptor));
于 2012-06-13T15:21:25.910 回答