Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준 1406
- 백준
- 별 찍기 10
- 자료구조
- 원판 돌리기
- 풀이
- 버킷 정렬
- 5397
- 백준 1158
- 스택의 특징
- AVL 시간 복잡도
- 게리멘더링2
- c#
- 해시 구현
- dfs
- qorwns
- 해시구현
- 백준 17471
- 백준 17822
- 1764
- heap
- 백준 17779
- 시간 복잡도
- 백준 2447
- Stack 이란
- 조세퍼스 순열
- 백준 5397
- C/C++ 구현
- 구현
- ㅣ풀이
Archives
- Today
- Total
홍시홍의 프로그래밍
[백준 1260] dfs와 bfs 본문
수정 20190825
문제 링크
https://www.acmicpc.net/problem/1260
문제 요구 사항
1. dfs 출력 결과
1.1 시작 노드 방문 -> 노드와 이어진 노드 방문 -> 깊이 탐색
2. bfs 출력 결과
2.1 시작 노드를 queue에 넣어 bfs 실시
1.1번 풀이
1. 시작 노드 방문 visit check
2. 시작 노드와 이어진 노드 방문
3. 2번과 이어진 노드 방문 없을 경우 1로
4. 시작 노드와 이어진 거 끝까지 방문
2번 풀이
1. 시작 노드와 이어진 노드들 부터 방문
2. 이어진 노드에서 다시 이어진 노드들 방문
소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #include <iostream> #include <string.h> #include <queue> using namespace std; int n, m, k; int map[1001][1001]; int visit[1001]; queue<int> q; //dfs 시작 void dfs(int r) { visit[r] = 1; cout << r << " "; //전체 검색하여 조건맞으면 dfs 시작 for (int i = 1; i <= n; i++) { if (map[r][i] == 1 && visit[i] == 0) { dfs(i); } } } //dfs void bfs(int r) { visit[r] = 1; q.push(r); while (!q.empty()) { int x = q.front(); cout << x << " "; q.pop(); //전체 검색하여 조건에 맞으면 큐에 삽입 for (int i = 1; i <= n; i++) { if (map[x][i] == 1 && visit[i] == 0) { //cout << "visit" << i << endl; visit[i] = 1; q.push(i); } } } } int main() { cin >> n >> m >> k; for (int i = 0; i < m; i++) { int x, y; cin >> x >> y; map[x][y] = map[y][x] = 1; } dfs(k); memset(visit, 0, sizeof(visit)); cout << endl; bfs(k); return 0; } | cs |
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준 17406] 배열돌리기 4 (0) | 2019.08.13 |
---|---|
[백준 14889] 스타트와 링크 (0) | 2019.02.14 |
[백준 2589] 보물섬 (0) | 2018.11.22 |
[백준 2178] 미로탐색 (0) | 2018.11.20 |
[백준 1697] 숨바꼭질 (0) | 2018.11.16 |
Comments