티스토리 뷰

728x90
반응형
  • 시작점에서 가까운 정점부터 순서대로 방문
  • Queue
  • O(|V|+|E|)
  • 최단 경로 문제 해결
  • 가중치가 없는 그래프
//V : 정점 집합, E : 간선 집합, Q : 큐
//visit[v] : 방분정보 저장
//Adj[v] : 정점 v의 인점 정접들 집합
//D[] : 시작점부터 각 정점까지 거리
//P[] : 최단 경로 트리 저장

bfs(s) {
	for (v : V) {
    	D[v] = Max;
        P[v] = null;
    }
    D[s] = 0;
    P[s] = s;
    visit[s] = true;
    
    Q.offer(s);
    while(!Q.isEmpty()) {
    	v = Q.poll();
        for (인접 정점 u : Adj[v]) {
        	if (visit[u] == false) {
            	D[u] = D[v] + 1;
                P[u] = v;
                visit[u] = true;
                Q.offer(u);
            }
        }
    }
}
728x90
반응형
반응형
300x250