일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 이분탐색
- priority_queue
- N과M
- map
- 문자열
- 다이나믹프로그래밍
- 배열
- 에라토스테네스의 체
- 그래프
- 깊이우선탐색
- vector
- 오블완
- 정렬
- stoi
- 최소공배수
- int
- 티스토리챌린지
- DFS
- C++
- 우선순위큐
- Sort
- 분할정복
- DP
- Set
- 알고리즘
- 프로그래머스
- 백트래킹
- 유클리드호제법
- 백준
- Today
- Total
목록깊이우선탐색 (2)
안녕 세상아,
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 내가 처음 접해보는 너비우선탐색, 깊이우선탐색 문제... dfs, bfs 모두 사용해서 해결할 수 있다. #include #include #include using namespace std; vector map[101]; bool visited[101] = { false };//방문 유무 파악 int ans = 0; //재귀를 이용한 dfs int dfs(int n) { for (int i = 0; i..

깊이 우선 탐색이란 1. 인접한 정점 중 하나 선택 2. 인접한 정점으로 이동 3. 더이상 이동할 정점이 없을 경우 백트래킹 그래프의 모든 정점을 탐색할 때까지 위의 과정을 반복한다. 시작 정점으로부터 거리가 멀어지는(깊이가 깊어지는) 방식으로 정점 탐색 보통 재귀, 스택을 이용하여 구현한다. bool isVisited[N] = { }; -> 정점 방문 여부 검사 -> 정점 방문 여부를 검사하지 않으면 무한 루프에 빠질 수 있다. #include #include #include #include using namespace std; const int N = 6;//정점 6개 bool gVisited[N] = {};//정점 방문 했는지 확인 void dfs_recursion(const vector..