[java] 자바에서 사용하는 플로이드 워셜 알고리즘
class FloydWarshall {
final static int INF = 99999;
void floydWarshall(int graph[][]) {
int V = graph.length;
int dist[][] = new int[V][V];
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
dist[i][j] = graph[i][j];
}
}
for (int k = 0; k < V; k++) {
for (int i = 0; i < V; i++) {
for (int j = 0; j < V; j++) {
if (dist[i][k] + dist[k][j] < dist[i][j]) {
dist[i][j] = dist[i][k] + dist[k][j];
}
}
}
}
}
}
위의 코드는 자바로 구현한 플로이드 워셜 알고리즘의 예시입니다.
이 알고리즘은 그래프의 최단 경로를 찾는 데 사용되며, 각 정점 쌍 간의 최단 거리를 계산합니다. 이를 통해 다양한 문제에 활용할 수 있으며, 자바에서 효율적으로 구현할 수 있습니다.
자세한 내용은 GeeksforGeeks를 참고할 수 있습니다.