[알고리즘] 너비 우선 탐색(BFS)
CS/알고리즘2023. 8. 3. 23:40[알고리즘] 너비 우선 탐색(BFS)

1. BFS(너비 우선 탐색) 그래프 탐색 - 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것. - 알고리즘 문제를 풀다보면 2차원 배열이 주어지고 탐색을 하며 특정 값을 구하라는 문제가 많은데 DFS와 달리 시간복잡도가 까다롭게 설정되어있고 최단경로를 찾는 문제일 때 주로 사용. -동작과정 큐 선언(2차원 배열이라면 Point 클래스를 활용) 및 시작 포인트 큐에 추가&&방문체크 while(!Queue.isEmpty()) 큐가 없어질 때까지 반복 Queue에서 poll하여 탐색 시작 방향벡터를 이용해서 for문 4방탐색 다음 행선지 NULL체크 탈출 포인트 선언 (예를 들어 목적지 좌표에 도착했다면) 장애물 및 탐색하면 안되는 곳이라면 continue로 탈출 탐색할 수 있는 곳..

image