0

疑似コードを以下に示す深さ優先検索アルゴリズムがあります。

   DFS(Vertex v)
    mark v visited
    make an empty Stack S
    push all vertices adjacent to v onto S
    while S is not empty do
        Vertex w is pop off S
        for all Vertex u adjacent to w do
            if u is not visited then
                mark u visited
                push u onto S

さて、上記の dfs アルゴリズムを幅優先探索に変換したいと思います。プログラムを C++ で実装しています。私は同じことをする方法がわかりません。

編集: bfs の疑似コードを知っています。私が探しているのは、上記の dfs の擬似コードを bfs に変換する方法です。

4

1 に答える 1

3

BFS(頂点v)
    マークVが訪れた
    空のキュー Q を作成する
    v に隣接するすべての頂点を Q にエンキューする
    Q が空でない間
        頂点 w は Q からデキューされます
        w に隣接するすべての頂点 u に対して
            あなたが訪問されない場合
                あなたが訪問したことをマーク
                u を Q にエンキューする

これが役立つことを願っています

于 2012-07-04T12:52:42.700 に答える