가장 짧은 경로를 찾는 알고리즘

1. 다익스트라 최단 경로 알고리즘

특정 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘

1) 간단한 다익스트라 알고리즘

시간 복잡도 - $O(V^2$) v=노드의 개수


2. 플로이드 워셜 알고리즘

모든 지점에서 다른 모든 지점까지의 최단 경로를 구하는 알고리즘

점화식

점화식

d = [[float("inf") * n] for _ in range(n)]

for k in range(n):
	for a in range(n):
		for b in range(n):
			d[a][b] = min(d[a][b], d[a][k] + d[k][b]

3. 벨만 포드 알고리즘