본문 바로가기

알고리즘/C++

9-2. 그래프 (Graph) - 너비 우선 탐색 (Breadth First Search, BFS)

void Graph::BFS (int v){
// 정점 v에서 시작
   
   visited = new bool[n];
   
   for (int i=0; i<n; i++)		// 초기 방문 정점 없음으로 초기화
      visited[i] = false;
   
   visited[v] = true;
   Queue<int> q;
   q.push(v);
   
   while (!q.IsEmpty()){
      v = *q.Pop.(v);	// 정점 v를 queue에서 삭제
      
      for (v에 인접한 모든 정점 w에 대해) {
         if (!visited[w]) {
            q.Push(w);
            visited[w] = true;
         }
      }
      delete [] visited;
   }
}

'알고리즘 > C++' 카테고리의 다른 글

Ford 알고리즘  (0) 2020.07.28
Dijkstra 알고리즘  (0) 2020.07.28
9-1. 그래프 (Graph) - 깊이 우선 탐색 (Depth First Search, DFS)  (0) 2020.07.26
9. 그래프 (Graph)  (0) 2020.07.26
8. 이진 탐색 트리 (Binary Search Tree, BST)  (0) 2020.07.25