너비 우선 탐색 2

[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 -..