플로이드-워셜 알고리즘은 그래프에서 최단 거리를 구하는 알고리즘이다.

기능 특징 시간 복잡도(노드 수 : V)
모든 노드 간에 최단 경로 탐색 1) 음수 가중치 에지가 있어도 수행할 수 있다.
  1. 동적 계획 법의 원리를 이용해 알고리즘에 접근 | O(V^3) |

플로이드-워셜의 핵심 이론

  1. 배열을 선언하고 초기화 하기
  1. 최단 거리 배열에 그래프 데이터 저장하기
  1. 점화식으로 배열 업데이트 하기

for 경유지 K에 관해 (1~ N)

for 출발 노드 S에 관해 (1~N)

for 도착 노드 E에 관해 (1~N)

D[S][E] = Math.min(D[S][E], D[S][K] + D[K][E])

→ 시간 복잡도가 빠르지는 않은 편이다.