#pragma once
#ifndef ___WGraphFloyd
#define ___WGraphFloyd
//WGraphFloyd.h : Floyd 알고리즘의 최단 경로 탐색 기능이 추가된 그래프
#include "WGraph.h"
class WGraphFloyd : public WGraph
{
int A[MAX_VTXS][MAX_VTXS]; // 최단 경로 거리
public:
void ShortestPathFloyd() {
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
A[i][j] = getEdge(i, j);
for (int k = 0; k < size; k++) {
for (int i = 0; i < size; i++)
for (int j = 0; j < size; j++)
if (A[i][k] + A[k][j] < A[i][j])
A[i][j] = A[i][k] + A[k][j];
printA();
}
}
void printA() {
printf("============================================\n");
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
if (A[i][j] == INF) printf(" INF ");
else printf("%4d ", A[i][j]);
}
printf("\n");
}
}
};
#endif // !___WGraphFloyd
'Programming > DS SorceCode' 카테고리의 다른 글
랜덤 함수를 이용한 함수, 배열을 출력하는 함수 (0) | 2019.04.03 |
---|---|
선택정렬 알고리즘을 이용해 int 배열을 오름차순으로 정렬하는 함수 (0) | 2019.04.03 |
WGraphDijkstra.h : Dijkstra알고리즘의 최단 경로 탐색 기능이 추가된 그래프 (0) | 2019.04.02 |
WGraphMST.h : 최소 신장 트리(MST) 기능이 추가된 가중치 그래프 클래스 (0) | 2019.04.01 |
MInHeap.h : 최소 힙 클래스 + Kruskal 알고리즘 구현을 위한 함수 추가 (0) | 2019.04.01 |