| 기능 | 특징 | 시간복잡도(노드 수: V, 엣지 수: E) |
|---|---|---|
| 그래프 완전 탐색 | FIFO 탐색, Queue 자료구조 이용 | O(V + E) |
BFS란?
너비 우선 탐색(Breadth-first search)은 그래프의 완전 탐색 방벙 중 하나로, 시작 노드에서 출발해 시작 노드를 기준으로 가까운 노드를 먼저 방문하면서 탐색하는 알고리즘이다.
탐색 시작 노드와 가까운 노드를 우선하여 탐색하므로 목표 노드에 도착하는 경로가 여러 개일 때 최단 경로를 보장한다.


큐에서 노드를 꺼내면서 인접 노드를 큐에 삽입한다. 이 때 방문 배열을 체크하여 이미 방문한 노드는 큐에 삽입하지 않는다. 또한 큐에서 꺼낸 노드는 탐색 순서에 기록한다.

