13549 숨바꼭질 3

해당 문제는 두 가지의 방법으로 풀 수 있었고, 그 중에서 처음 적용하는 응용 알고리즘을 배웠다.

0-1 BFS

그래프에서 간선의 가중치가 0 또는 1밖에 존재하지 않을때 이용할 수 있는 응용 BFS 기법이다.

보통 위와 같은 간선이 주어지면 가장 Naive한 방법은 Dijkstra를 이용하는 방법이다. 하지만 다익스트라의 시간복잡도는 O(ElogV+V)인 반면에 0-1 BFS를 이용하면 O(V + E)인 선형적인 복잡도 내에서 탐색을 종료할 수 있다.

다익스트라

일반적인 다익스트라 방식으로 풀 수 있다. dist배열의 가중치를 더할때 x * 2 부분은 기존 currentNode의 가중치와 동일하게 가져가게 되면 최소 경로값을 알아서 찾아가므로 Naive하게 풀 수 있다.