본문 바로가기
책/Do it! 알고리즘 코딩 테스트 자바 편

Day-17 다익스트라

by 댈팽이 2024. 4. 12.
728x90

1. 다익스트라 알고리즘

  • 그래프에서 출발 노드와 모든 노드 간의 최단 거리를 구하는 알고리즘이다.
  • 시간 복잡도는 O(에지 수 * log 노드 수)이다.

2. 다익스트라 과정

  1. 인접 리스트로 그래프 구현
  2. 최단 거리 배열을 만들고 출발 노드는 0, 그 외 노드는 무한으로 초기화
  3. 최단 거리 배열에서 값이 가장 작은 노드 선택
  4. 선택한 노드에 연결된 노드의 값을 Min(선택 노드 최단 거리 값 + 에지 가중치, 연결 노드 최단 거리 값)으로 업데이트
  5. 모든 노드가 선택될 때까지 과정 3, 4를 반복

3. 예제 문제

 

[1753] 최단경로 (JAVA)

# 문제 설명 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점

spicyrisotto.tistory.com

 

 

[1916] 최소비용 구하기 (JAVA)

# 문제 설명 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A

spicyrisotto.tistory.com


 

[1446] 지름길 (JAVA)

# 문제 설명 매일 아침, 세준이는 학교에 가기 위해서 차를 타고 D킬로미터 길이의 고속도로를 지난다. 이 고속도로는 심각하게 커브가 많아서 정말 운전하기도 힘들다. 어느 날, 세준이는 이 고

spicyrisotto.tistory.com

728x90

' > Do it! 알고리즘 코딩 테스트 자바 편' 카테고리의 다른 글

Day-16 위상 정렬  (0) 2024.04.12
Day-15 유니온 파인드  (0) 2024.04.10
Day-14 그래프의 표현  (0) 2024.04.10
Day-12 오일러 피  (0) 2024.04.07
Day-13 확장 유클리드 호제법  (0) 2024.04.06