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

Shortest Path between two vertices with BFS

大家好,我在 BFS 方面遇到了一些问题,尤其是 2 个顶点 exercise.For 示例:我不想访问所有顶点,但是当我找到我的目标时,我想停止。这个伪代码是正确的吗?(对于代码,我的灵感来自于我的算法书(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()
   }

提前致谢

是的,没错。一旦您将节点从队列中取出,您就知道您已经找到了到它的最短路径。

希望对您有所帮助!