티스토리 뷰
플로이드 알고리즘은 모든정점에서 모든정점 까지의 최단경로를 구할 수 있는 알고리즘이다. 정점 출발점과 정점 목적지가 있을 때 그사이에 존재하는 정점들이 기준이 되러 최단 경로인 것을 경로로 만들어 주는 알고리즘이다. 구현 방법 또한 간단하다.
처음 배열을 갈 수 없는 길 INF(무한대) 갈수 없는 길로 표기 해준다음에 갈수 있는 길을 받은 자료를 이용하여 길을 계속 갱신해주면서 지나갈 수 있는 길을 만들어 주는 알고리즘이다. 다익스트라 알고리즘 경우에는 하나의 출발 정점 하나에서 모든 정점까지의 최단경로를 구할 수 있다. 그러나 플로이드 알고리즘 경우에는 모든 정점에서 모든 정점 까지의 최단 경로를 구할수 있다. 어떤 상황이 주어졌을 때 그때마다 어떤 방법이 적절하지 골라 사용하자.
1
2
3
4
5
6
7
|
for( k = 1 ; k<= N; k++) // 거쳐가는 정점
for( i = 1 ; i<= N ; i++) // 출발 정점
for( j = 1 ; j<=N ; j++) //도착정점
if(map[i][j] > map[i][k] + map[k][j] )
map[i][j] = map[i][k] + map[k][j];
|
s |
플로이드 모음
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이분매칭
- 이분 매칭
- 플로이드
- 사이크
- greedy
- 백트래킹
- #스페인어 #스페인어인강 #스페인어공부 #시원스쿨스페인어
- php
- HTML
- 사이클
- 백트레킹
- stri
- KVK4
- JavaSwing
- CSS
- 그래프
- 라오킹전사
- BFS
- 라이즈오브킹덤즈
- A
- 그리디알고리즘
- 다익스트라
- dfs
- 정렬
- 그리디
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함