다익스트라 예제 - 2
문제 분석
손으로 풀어보기
슈도코드
n(도시 개수) m(버스 개수)
A(인접 리스트)
distance(거리 저장 리스트)
visit(방문 저장 리스트)
for m 반복:
인접 리스트 데이터 저장
start, end 입력
다익스트라(start, end):
start를 우선순위 큐에 삽입
while 큐가 빌 때까지:
현재 선택된 노드 방문 확인
현재 노드 방문 처리
for 현재 노드의 다음 노드:
if 현재 선택 노드 최단 거리 + 비용 < 다음 노드의 최단 거리:
다음 노드 최단 거리 업데이트
우선순위 큐 다음 노드 추가
end의 최종 거리 반환
다익스트라 결괏값 출력코드 구현 - 파이썬
코드 구현 - 자바
Last updated