일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Set
- 오블완
- 유클리드호제법
- 우선순위큐
- 에라토스테네스의 체
- 그래프
- 깊이우선탐색
- N과M
- 정렬
- stoi
- DFS
- 프로그래머스
- Sort
- 배열
- map
- 알고리즘
- vector
- int
- 문자열
- 백준
- 이분탐색
- priority_queue
- 최소공배수
- BFS
- 다이나믹프로그래밍
- 백트래킹
- 분할정복
- DP
- 티스토리챌린지
- C++
- Today
- Total
목록BFS (2)
안녕 세상아,
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net dfs, bfs 기본 문제이다. 거의 템플릿같은 문제라고 생각하고 이대로 외우면 될 것 같다. #include #include #include using namespace std; int n, m, v;//정점, 간선, 시작 정점 bool isVisited[1001] = { false };//정점 방문 여부 int map[1001][1001];//인접 행렬 그..

너비 우선 탐색이란 1.현재 정점과 인접한 모든 정점 방문 2. 이들 정점과 인접한 모든 정점 찾아서 방문 그래프의 모든 정점을 탐색할 때까지 위의 과정 반복 시작 정점으로부터 가까운 정점 먼저 방문, 멀리 떨어져있는 정점 나중에 방문한다. 큐 이용하여 구현 DFS와 같은 수식 bool isVisited[N] = { }; -> 정점 방문 여부 검사 -> 정점 방문 여부를 검사하지 않으면 무한 루프에 빠질 수 있다. #include #include #include #include using namespace std; vector bfs(const vector& adj_list, int s) { vector visited(adj_list.size(), false); vector visit_orde..