본문 바로가기
알고리즘

그래프 알고리즘 - 3

by 근즈리얼 2021. 3. 17.
728x90

깊이우선순회(DFS)

1. 출발점 s에서 시작

2. 현재 노드를 visited로 mark하고 인접한 노드들 중 unvisited노드가 존재하면 그 노드로 간다

3. 2번을 반복

4. 만약 unvisited인 이웃 노드가 존재하지 않는 동안 계속해서 직전 노드로 되돌아간다.

5. 다시 2번을 반복한다.

6. 시작노드 s로 돌아오고 더 이상 갈 곳이 없으면  종료한다.

 

수도코드

 

- 그래프가 disconnected이거나 혹은 방향 그래프라면 dfs에 의해서 모든 노드가 방문되지 않을 수도 있음

- DFS를 반복하여 모든 노드 방문

시간복잡도 : O(n+m)

 

* 위의 그림들은 "영리한 프로그래밍을 위한 알고리즘" 강좌에서 가져왔습니다.

728x90

'알고리즘' 카테고리의 다른 글

최소비용신장트리-1  (0) 2021.03.23
그래프 알고리즘 - 4  (0) 2021.03.17
그래프 알고리즘 - 2  (0) 2021.03.16
그래프 알고리즘 - 1  (0) 2021.03.16
hashing - 마지막  (0) 2021.03.11

댓글