
BFS (Breadth First Search)
·
알고리즘 (with JAVA)/기본 알고리즘
1. 개념 설명 (1) BFS는 너비 우선 탐색으로 최대한 깊숙이 들어가서 탐색을 시작하는 DFS와는 달리 인접한 노드부터 먼저 탐색하는 방법이다. ( 아래 2. 과정을 통해 이해하자. ) (2) BFS는 재귀호출을 사용하는 DFS와는 달리, 자료구조 큐(Queue)를 사용하는 경우가 일반적이다. ( 그러므로, 3. 코드에서는 큐를 이용한 BFS를 보여줄 것이다. ) 2. 과정 - 실제로 수행되는 과정이며, 앞서 DFS(깊이 우선 탐색)과 BFS(너비 우선 탐색)을 비교하고 있다. 3. 코드 : BFS는 재귀를 사용하지 않고 일반적으로 큐를 통해 구현한다. ( 아래의 코드 (1)과 (2)는 위 그래프 그림을 기반으로 코드를 작성했다. ) (1) 인접 행렬 public class BFS_Matrix { s..