2016-10-03 8 views
1

有向グラフと無向グラフのbfsはどのように実装が異なりますか?横方向の最初の探索と無向グラフの比較

私は以下の擬似コードをWeb上に見つけました。私は無向グラフで大丈夫です。有向グラフのためにそれを実装する方法を理解することはできません。

frontier = new Queue() 
    mark root visited (set root.distance = 0) 
    frontier.push(root) 
    while frontier not empty { 
    Vertex v = frontier.pop() 
    for each successor v' of v { 
    if v' unvisited { 
     frontier.push(v') 
     mark v' visited (v'.distance = v.distance + 1) 
    } 
    } 
    } 
+0

これはまったく同じです。 – Beta

+0

ああ、すでにそれを持っています..応答のためにありがとう –

+0

まあ...私の質問をアップ - 投票したその人に感謝します。 –

答えて

0

擬似コードで実装はsuccessorの概念は、有向グラフのための無向グラフの隣接しかし(または類似の)を意味することを除いて、同じです。

+0

addNode(a、b); if(dir == "no") { addNode(b、a); } –

+0

は上記の設定が正しいですか?指向された一方向アクセスが提供されている場合。それ以外の場合は双方向アクセスが提供されます –

関連する問題