반응형
BFS 함수 구현 방법
void bfs(int start) {
queue<int> q;
memset(check, false, sizeof(check));
check[start] = true;
q.push(start);
while (!q.empty()) {
int node = q.front();
q.pop();
cout << node << " ";
for (int i = 0; i < a[node].size(); i++) {
int next = a[node][i];
if (check[next] == false) {
check[next] = true;
q.push(next);
}
}
}
}
DFS 함수 구현 방법
void dfs(int node) {
check[node] = true;
cout << node << " ";
for (int i = 0; i < a[node].size(); i++) {
int next = a[node][i];
if (check[next] == false) {
dfs(next);
}
}
}
반응형
'개발(Dev) 이야기 > Algorithm' 카테고리의 다른 글
[C++] scanf 와 cin 수행속도 차이 (0) | 2020.03.26 |
---|---|
[BOJ] 미로탐색_2178 (0) | 2020.03.26 |
[BOJ] 카잉달력_6064.cpp (0) | 2020.03.20 |
[BOJ] 리모컨_1107.cpp (0) | 2020.03.17 |
[BOJ] N과M(6)_15655.cpp (0) | 2020.03.17 |