
dfs(깊이 우선 탐색) bfs(너비 우선 탐색)
·
알고리즘
dfs와 bfs는 그래프를 탐색하는 두가지 주요 알고리즘이다. 깊이 우선 탐색 DFS말 그대로 그래프의 깊이를 우선적으로 탐색하는 알고리즘이다. 시작 노드에서 시작해 깊이 들어가면서 그래프를 탐색하고, 더이상 탐색할 노드가 없다면 이전 노드로 되돌아와 똑같이 반복하여 탐색한다. DFS는 스택이나 재귀를 이용하여 구현한다. 동작 과정1. 시작 노드를 방문하고, 해당 노드를 방문한 것으로 표시 2. 시작 노드와 연결된 이웃 노드 선택3. 선택한 이웃노드가 방문되지 않은 경우, 그 이웃 노드를 새로운 시작 노드로 하여 DFS 재귀적으로 호출4. 이웃 노드가 없을 때 까지 1-3 과정 반복 위의 과정을 코드로 구현하면 이렇다. def dfs(graph, v, visited): visited[v] = Tru..