传递闭包

xiaoxiao2021-02-28  28

转自:点击打开链接今天有人提到了传递闭包,我简单说说吧。  所谓传递性,可以这样理解:对于一个节点i,如果j能到i,i能到k,那么j就能到k。求传递闭包,就是把图中所有满足这样传递性的节点都弄出来,计算完成后,我们也就知道任意两个节点之间是否相连。  传递闭包的计算过程一般可以用Warshell算法描述:  For 每个节点i Do      For 每个节点j Do      If j能到i Then          For 每个节点k Do          a[j, k] := a[j, k] Or ( a[j, i] And a[ i, k] )  其中a数组为布尔数组,用来描述两个节点是否相连,可以看做一个无权图的邻接矩阵。可以看到,算法过程跟Floyd很相似,三重循环,枚举每个中间节点。只不过传递闭包只需要求出两个节点是否相连,而不用求其间的最短路径长。
转载请注明原文地址: https://www.6miu.com/read-2627672.html

最新回复(0)