两个顶点之间的最短路径与BFS

时间:2015-01-27 17:52:59

标签: graph breadth-first-search

大家好我对BFS有一些问题,尤其是2个顶点练习。例如:我想要访问的不是所有顶点,但是当我找到目标时我想停下来。这个伪代码是正确的吗?(对于代码我的灵感来自我的Algorthm的书(Goodrich,Tamassia)

BFS(Graph G,Vertex s,Vertex t)
{ Queue q;
  for( all v in G) mark_unvisited(v)
    mark_visited(s)
     q.enqueue(s)
   while(!Q.isEmpty())
    { u=q.front();
        if(u==target)     // is this correct ?
           { break}
         for(all w Adj[u])
           {     if(w==is unvisited)
                   { mark_visited(w)
                      q.enqueue(w)
                    }
            }
        q.dequeue()
   }

提前致谢

1 个答案:

答案 0 :(得分:0)

是的,这是正确的。只要您从队列中将节点出列,就会知道您已经找到了最短的路径。

希望这有帮助!