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 に答える