검색어 입력폼

[알고리즘] Floyd의 최단경로 알고리즘 구현

등록일 2004.04.22 파일확장자C언어 (cpp) | 2페이지 | 가격 2,000원

목차

없음

본문내용

#include <iostream>
using namespace std;

#define MAX 10000

int minimum(int x, int y)
{
if (x > y)
return y;
else
return x;
}

void floyd(int n, const int W[5][5], int D[5][5], int P[5][5])
{
int i, j, k;

// D = W;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
D[i][j] = W[i][j];

// P의 초기화;
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
P[i][j] = -1;

for (k = 0; k < n; k++) {
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (D[i][k] + D[k][j] < D[i][j]) {
P[i][j] = k;
D[i][j] = D[i][k] + D[k][j];
}
다운로드 맨위로