编程:求一个关系的传递闭包(C语言)

2024-11-23 12:53:14
推荐回答(2个)
回答1:

利用关系的矩阵表示,可以通过Warshall算法计算有限集合上的二元关系的传递闭包。

回答2:

main() { int A[4][4]={{1,1,0,0},{1,0,0,0},{0,1,0,0},{0,0,0,0}}; int i,j,k; for(i=0;i<4;i++) for(j=0;j<4;j++) { if(A[j][i]==1) for(k=0;k<4;k++) A[j][k]=A[j][k]||A[i][k]; } for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%d ",A[j][i]); printf("\n"); } }