Warshall算法求传递闭包

您所在的位置:网站首页 离散数学流程图怎么画 Warshall算法求传递闭包

Warshall算法求传递闭包

2024-07-13 17:46| 来源: 网络整理| 查看: 265

算法描述: 传递闭包的一种有效算法—Warshall算法,这种算法也便于计算机实现。 (1)置新矩阵A=M; (2)i=1; (3)对所有j如果A[j,i]=1,则对k=1,2,…,n,A[j,k]=A[j,k]∨A[i,k]; (4)i加1;(i是行,j是列) (5)如果i≤n,则转到步骤3),否则停止。 例如: 这里写图片描述 这里写图片描述 这里写图片描述 代码:

#include #define N 4 //宏定义 int get_matrix(int a[N][N]) { int i = 0,j = 0; for (i = 0;i < N;i++) { for (j = 0;j < N;j++) { scanf("%d",&a[i][j]); if (a[i][j] != 0 && a[i][j] != 1) return 1; } } return 0; } int output_matrix(int a[N][N]) { int i = 0,j = 0; for (i = 0;i < N;i++) { for (j = 0;j < N;j++) { printf("%d ",a[i][j]); } putchar('\n'); } } int warshall(int a[][N]) { //(1)i=1; //(2)对所有j如果a[j,i]=1,则对k=0,1,…,n-1,a[j,k]=a[j,k]∨a[i,k]; //(3)i加1; //(4)如果i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3