Search
Duplicate
🏥

너비 우선 탐색

정의
탐색을 할 때, 너비를 우선으로 하여 탐색을 수행하는 탐색 알고리즘이다.
맹목적인 탐색을 하고자 할 때 사용할 수 있는 탐색 기법으로, 최단 경로를 찾아준다는 점에서 최단 길이를 보장해야할 때 많이 사용한다.
주로 큐를 이용해서 구현한다.
거리가 가까운 것 먼저 탐색을 수행한다. 즉 너비를 우선으로 탐색한다는 특성을 활용해 문제를 해결할 때 사용한다.
구현
특정 시작 노드를 큐에 넣는다.
큐에서 노드를 꺼내, 방문 처리를 하고 연결된 노드들을 큐에 추가한다.
위 동작을 반복한다.