floyd 알고리즘 예제

위의 알고리즘은 아래 의 그래프에서 실행됩니다 : 컴퓨터 과학에서, 플로이드 – Warshall 알고리즘 (또한 플로이드의 알고리즘으로 알려진, 로이 – 워셜 알고리즘, 로이 – 플로이드 알고리즘, 또는 WFI 알고리즘) 짧은 찾기위한 알고리즘입니다 양수 또는 음수 모서리 가중치가 있는 가중치 그래프의 경로(음수 주기는 없음). [1][2] 알고리즘을 한 번 실행하면 모든 정점 쌍 간에 가장 짧은 패스의 길이(합계 가중치)를 찾을 수 있습니다. 경로 자체에 대한 세부 정보를 반환하지는 않지만 알고리즘을 간단하게 수정하여 경로를 재구성할 수 있습니다. 알고리즘 버전은 관계 R {displaystyle R}의 전이 클로저를 찾는 데 사용하거나 가중 그래프의 모든 정점 쌍 간의 가장 넓은 경로(Schulze 투표 시스템과 관련하여)를 찾는 데 사용할 수도 있습니다. Floyd-Warshall 알고리즘은 대부분의 또는 모든 정점 쌍이 모서리로 연결되는 조밀한 그래프의 모든 정점 쌍 간의 경로를 계산하는 데 적합합니다. 음수 에지 가중치가 없는 희소 그래프의 경우, 반복되는 Dijkstra (O (@| )의 실행 시간이기 때문에 가능한 각 시작 정점에서 Dijkstra의 알고리즘을 사용하는 것이 좋습니다. E | V | + | V | 2 로그 | V | ) {디스플레이 스타일 O(| 에 || V |+| V|^{2}로그 | V |)} 피보나치 힙을 사용하는 것은 O (| )보다 낫다 V | 3) {디스플레이 스타일 O(| V|^{3}}} 플로이드-워샬 알고리즘의 실행 시간 | E | {디스플레이 스타일 | 에이} |보다 훨씬 작습니다. V | 2 {디스플레이 스타일 | V |^{2}} . 음의 가장자리가 있지만 음수 사이클이 없는 희소 그래프의 경우 반복되는 Dijkstra 접근 방식과 동일한 점근 변환 실행 시간으로 Johnson의 알고리즘을 사용할 수 있습니다.

n {디스플레이 스타일 n} | V | {디스플레이 스타일 | V |} . 모든 n 2 {디스플레이 스타일 n^{2}} s h o r t e s t P t t t h (i , j, k) {표시 스타일 mathrm {shortestPath} (i, j, k)} (모든 i {displaystyle i} 및 j {displaystyle j} s h 의 s h o t t t t t t h , j , k – 1) {표시 스타일 mathrm {shortestPath} (i, j, k-1)} 2 n 2 {디스플레이 스타일 2n^{2}} 작업이 필요합니다. 우리는 s h o r t e t t T T T h (i , j , 0) = e d g e C o t (i , j) {displaystyle mathrm {shortestPath} (i,j,0)=mathrm {edgeCost} (i,j)}}의 시퀀스를 계산하고 n {displaystyle n} matrices s h h r h. t P a h (i , j , 1) {displaystyle mathrm {shortestPath} (i,j,1)} , s h o r t e t t T T t h (i , j , 2) {displaystyle mathrm {shortestPath} (i,j,2)} {displaystyle ldots } , s h o r t e t t t t t t t hh (i , j , n) {디스플레이 스타일 mathrm {shortestPath} (i,j,n)} 사용된 총 작업 수는 n2 n 2 = 2 {디스플레이 스타일 ncdot 2n^{{2}=2n^{{} 따라서 알고리즘의 복잡성은 Θ (n 3) {디스플레이 스타일 Theta (n^{3})}입니다. Floyd-Warshall 알고리즘은 다음과 같은 문제를 해결하는 데 사용할 수 있습니다: 조밀한 그래프에서 모든 쌍의 최단 경로 계산 속도를 높이기 위해 빠른 행렬 곱셈을 사용하는 알려진 알고리즘도 있지만 일반적으로 추가 가정을 합니다. 모서리 가중치(예: 작은 정수로 요구). [14][15] 또한, 실행 시간에 대한 높은 일정한 요인으로 인해 매우 큰 그래프에 대한 Floyd-Warshall 알고리즘에 대한 속도 향상만 제공할 수 있습니다.

¡Contactanos!