[Java / 알고리즘] 그래프 알고리즘 BFS와 DFS
·
알고리즘 & 코딩 테스트/알고리즘
대표적인 그래프 탐색 알고리즘으로는 너비 우선 탐색(BFS, Breadth First Search)과 깊이 우선 탐색(DFS, Depth First Search)가 있다. 1. 너비 우선 탐색 (BFS, Breadth First Search) 정점들과 같은 레벨에 있는 노드들(형제 노드들)을 먼저 탐색하는 방식이다 위 그림에서는, A - B - C - D - G - H - I - E - F - J 순으로 탐색한다 BFS는 재귀적으로 동작하지 않고 방문한 노드들을 차례로 저장한 후 꺼낼 수 있는 큐(Queue)를 사용한다 즉, 선입선출(FIFO) 원칙을 탐색한다 시작 정점으로부터 가까운 정점을 먼저 방문하고 멀리 떨어져 있는 정점을 나중에 방문하기 때문에 두 노드 사이의 최단 경로를 찾을 때 주로 사용한다..
마볼링
'BFS' 태그의 글 목록