2015-01-27 2 views
0

안녕하세요 저는 2 개의 꼭지점 연습과 함께 BFS와 관련된 몇 가지 문제를 겪고 있습니다. 예를 들면 모든 꼭지점을 방문하지는 않지만 대상을 찾았 으면 멈추고 싶습니다. 올바른이 의사? (코드 들어 내가BFS가있는 두 꼭지점 간의 최단 경로

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() 
    } 

감사합니다 사전에 내 Algorthm의 책 (굿 리치, Tamassia)에서 영감을 봤는데되어

답변

0

네, 그건 맞습니다. 최대한 빨리에서 노드를 큐에서 제거로 대기열을 찾으면 가장 짧은 경로를 발견 한 것입니다.

희망이 있습니다.