Warshall 算法
Warshall算法介绍:Warshall在1962年提出了一个求关系的传递闭包的有效算法。其具体过程如下:N—S图代码实现:import java.util.Scanner;public class Warshall {public static void main(String[] args) {System.out.println("请输入矩阵阶数:");...
·
Warshall算法
介绍:
Warshall在1962年提出了一个求关系的传递闭包的有效算法。其具体过程如下:
N—S图
代码实现:
import java.util.Scanner;
public class Warshall {
public static void main(String[] args) {
System.out.println("请输入矩阵阶数:");
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();// 行数
int[][] array = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
array[i][j] = scan.nextInt();
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (array[i][j] == 1) {
for (int k = 0; k < n; k++) {
array[i][k] = array[i][k] | array[j][k];
}
}
}
}
System.out.println("传递闭包的最终结果是:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(array[i][j]);
}
System.out.println();
}
}
}
运行结果:
应用:计算有穷集合上的二元关系的传递闭包和简单方向图的可到达矩阵。
更多推荐
已为社区贡献1条内容
所有评论(0)