BFS 3

[BaekJoon] 백준 2178번 _ 미로탐색 for JAVA _ BFS 알고리즘

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net BFS를 공부할 때 살펴본 문제와 같은 문제였다. (https://www.youtube.com/watch?v=7C9RgOcvkvo) 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.S..

알고리즘/백준 2022.01.21

[Algorithm] BFS 알고리즘 (너비 우선 탐색)

BFS 알고리즘은 너비 우선 탐색 방법으로, 가까운 노드부터 우선적으로 탐색하는 알고리즘이다. 주로 Queue 자료구조를 이용하여 모든 노드를 탐색한다. 예시를 살펴보자 예시 그래프~~!! 방문 기준은 번호가 낮은 인접 노드부터, 시작 노드는 1이라고 하자. 큐에 1 넣음 큐에 있던 1을 꺼내주고 인접 노드 2 3 8 을 넣어준다. 2 3 8 에서 2를 꺼내주고 2와 인접한 노드 7을 넣어준다. 큐 : 3 8 7 3 8 7 에서 3을 빼주고 3과 인접한 노드 4, 5를 넣어준다. 큐 : 8 7 4 5 8 7 4 5에서 8을 빼주고 8과 인접한 노드는 모두 방문했으므로 추가x 큐 : 7 4 5 7 4 5에서 7을 빼고 인접 노드 6을 들르면 모든 노드를 탐색하게 된다. 따라서 노드를 탐색하는 순서는 1 -..

[BaekJoon] 백준 1260번 _DFS와 BFS for JAVA _ DFS, BFS 알고리즘

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 알고리즘을 구현하는 문제이다. 여기서 주의해야할 것은 정점 번호가 작은 것을 먼저 방문 한다는 것과 예를 들어 예제 입력이 3 5 라면 5 3 으로도 넣어줘야 한다는 점이다. 2중 ArrayList를 사용할 것인데 행 번호가 노드 번호이므로 3번째 행에 5를 넣고, 5번째 행에 3을 넣어줘야 한다. 코드 import java.io.Buffere..

알고리즘/백준 2022.01.20