너비 우선 탐색 (BFS) vs 깊이 우선 탐색 (DFS)
·
Algorithm/개념 정리
너비 우선 탐색 (BFS)BFS(Breadth-First Search)란, 한 지점에서 다른 지점들을 방문할 때, 너비를 우선으로 모든 지점을 방문하는 것장점: 시작 지점으로부터 도착 지점까지의 최소 거리를 항상 구할 수 있다.단점: DFS에 비해 더 많은 메모리를 사용한다.특정 노드를 기준으로 “인접한” 노드를 우선적으로 탐색하는 방식이다. 즉, 시작 지점으로부터 가까운 노드를 우선적으로 방문하고, 멀수록 늦게 방문하게 된다. 이는 특히 거리 측정 알고리즘을 구현할 때 주로 사용될 수 있다. 주로 다차원 배열에서 특정 지점까지 걸리는 최소 시간을 구하는 문제에 BFS를 주로 사용할 수 있다. 코드로 구현하기 위해서는 Queue를 사용한다. BFS를 이용해 모든 지점을 방문하는 방법은 다음과 같다.비어있..