-
[Algorithm] DFS(깊이 우선 탐색), BFS(너비 우선 탐색)Algorithm 2020. 8. 31. 20:49
#1 DFS(깊이 우선 탐색)
// 인접 리스트를 이용한 구현 void dfs(int x) { check[x] = true; for(int i=0; i<a[x].size(); i++) { int y = a[x][i]; if(check[y]==false) { dfs(y); } } }
#2 BFS(너비 우선 탐색)
queue<int> q; check[1] = true; q.push(1); while(!q.empty()) { int x = q.front(); q.pop(); for(int i=0; i<a[x].size(); i++) { int y = a[x][i]; if(check[y] == false){ check[y] = true; q.push(y); } } }
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 C++ : 네트워크 (0) 2020.09.01 [Algorithm] 프로그래머스 C++ : 타겟 넘버 (0) 2020.09.01 [Algorithm] 프로그래머스 C++ : 체육복 (0) 2020.08.27 [Algorithm] 프로그래머스 C++ : 카펫 (0) 2020.08.27 [Algorithm] 프로그래머스 C++ : 소수 찾기 (1) 2020.08.25