[알고리즘] BFS(너비 우선 탐색)이란?
·
Computer Science/알고리즘
BFSBFS(Breadth First Search)는 루트 노드에서 시작해서 인접 노드를 먼저 탐색하는 방법이다. 즉, 시작 정점으로부터의 거리가 가까운 정점들부터 차례로 방문해 나가는 방법이다.BFS 특징큐(Queue) 자료구조를 사용하여 구현한다.각 노드들을 방문하면서 방문한 노드와 연결된 노드를 큐에 추가하고 빼면서 한 번씩 탐색한다.회색 노드(큐에 추가), 검정 노드(큐에서 삭제)노드 방문 여부를 체크하지 않으면 무한 반복에 빠질 위험이 있기 때문에 반드시 체크해야 한다.BFS 문제 유형최단 경로 탐색미로 찾기2차원 배열로 주어진 미로에서 시작점에서 출발해 출구까지의 최단 경로 찾기특정 거리 내 노드 탐색소셜 네트워크 탐색특정 거리 내에 있는 친구 찾기전염 확산 모델링전염병이 특정 거리 내에 얼마..