개념

- 그래프가 위와 같이 주어지면
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> 10 -> 11 -> 12
순서로 탐색함.
활용함수
코드구현방법
- 그래프 초기 배열 생성
- 방문 배열 생성
- 노드 방문 처리하고 그래프의 해당 노드를 돌면서 방문하지 않았으면 재귀적으로 방문처리.
코드
let graph = [[], [2,7,8],[1,3,6],[2,4,5],[3],[3],[2],[1],[1,9,12],[8,10,11],[9],[9],[8]];
//순서를 맞춰주기 위해 index 0 은 빈배열을 넣어준다.
let visited = new Array(graph.length+1).fill(false);
dfs(graph,1,visited);
function dfs(graph, v, visited){
visited[v] = true;
for(let i=0; i<graph[v].length; i++){
if(visited[i] == false) dfs(graph, i, vistied);
}
}