일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 백준
- Bottom Up
- 포화이진트리
- 포스트오더
- 그래프
- 웹개발
- 도커
- n진법게임
- 이분그래프
- 알고리즘
- 자바
- JAVA_HOME
- 완전이진트리
- dfs
- 링킹
- 바인딩
- 순회
- 인오더
- DynamicProgramming
- 프로그래머스
- 전공자따라잡기
- 1707
- 9093
- 11724
- 이진트리
- 피보나치
- Java
- 연결요소
- 동적계획법
- Today
- Total
목록BFS (2)
물음표 살인마
연결요소란? Connected Component 1~6까지 모든 요소를 하나의 그래프라고 쳤을 때 위의 그림처럼 나누어져 있는 경우가 있다. 이렇게 나누어진 각각의 그래프를 연결 요소라고 한다. 연결 요소의 조건 1. 연결 요소에 속한 모든 정점을 연결하는 경로가 있어야 한다. 2. 다른 연결 요소에 속한 정점과 연결하는 경로가 있으면 안된다. 즉 위의 그림은 2개의 연결 요소로 구성된 하나의 그래프이다. 참고로 연결 요소가 1개인 그래프는 연결 그래프라고 한다. ----- 백준 11724를 통한 연결 요소 실습 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ ..
그래프 탐색의 목적: 임의의 정점에서 시작하여 연결되어 있는 모든 정점을 한 번씩 방문하는 것. 탐색 방법은 크게 2가지, DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)으로 나뉜다. 1. 깊이 우선 탐색(Depth First Search) 스택을 이용해 갈 수 있는 만큼 최대한 많이 간다. 더이상 갈 수 없으면 이전 정점으로 돌아간다. 재귀 호출을 이용해 구현 가능 void dfs(int x){ check[x] = true; for(int i = 0; i < a[x].size(); i++){ if(!checked[y]){ dfs(y); } } } 2. 너비 우선 탐색(Breadth First Search) 큐를 이용해 지금 위치에 갈 수 있는 것을 모두 큐에 넣는 방식 큐에 넣을 때 방문했다고 체크..