반응형
[Algorithm] 최단 경로 - 플로이드-워셜 알고리즘
* Python을 기준으로 합니다 최단 경로 - 플로이드-워셜 (Floyd-Warshall) 알고리즘 - 개념 플로이드-워셜 알고리즘 : 최단 경로를 구하는 알고리즘 중 하나로, 존재하는 모든 노드에서 다른 노드로의 최단 경로를 모두 계산해야 하는 경우 사용함 다익스트라와 달리 플로이드-워셜은 한 지점에서의 최단 경로가 아닌 모든 노드로의 경로를 반환함 - 이때 벨만-포드와 비슷하게 음의 가중치가 있는 경우에서도 사용가능 하지만, $O(n^{3})$의 time complexity를 소모하는 단점이 있음 플로이드-워셜 알고리즘은 다이나믹 프로그래밍으로써 구현되고, 다음의 점화식을 가짐: (Eq. 1) $D_{ab} = \min(D_{ab}, D_{ak}+D_{kb})$ - 시작 노드 $A$에서 노드 $K$..
Algorithm/Basic
2024. 4. 14. 14:29
반응형