다음은 단일 출발점 최단 경로를 찾기 위한 다익스트라(Dijkstra) 알고리즘을 의사(pseudo) 코드로 기술한 것이다. 이 코드에서 (가)에 들어갈 내용으로 옳은 것은?
// 입력: 가중 방향 그래프 G, 인접 행렬 A, 시작 정점 s
// 출력: s로부터 다른 모든 정점까지의 최단 경로의 길이
Dijkstra(G, A, s) {
U = {s};
for(모든 정점 v ∈ G)
D[v] = A[s][v];
while(U != G) {
D[w]가 최소인 정점 w ∈ (G–U)를 선택
U = U ∪ {w};
for(w에 인접한 모든 정점 v) {
D[v] = (가);
}
}
}- ①min(D[v], D[v] + A[v][w])
- ②min(D[v], D[w] + A[v][w])
- ③min(D[v], D[v] + A[w][v])
- ④min(D[v], D[w] + A[w][v])
선지를 골라 바로 채점해 보세요.
정답 ④
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)