给定一个有向无权无环图,我正在尝试调整 Floyd-Warshall 算法来计算 2 个顶点之间的路径数。我的代码目前如下所示:
对于 1 到 n 中的所有 k 对于 1 到 n 中的所有 i 对于 1 到 n 中的所有 j Aij = Aij + ( Aik * Akij)。
因此,我没有检查和替换最小距离,而是执行以下操作:
( i
, j
) 之间不带k
+ 的路径计数(从i
到的路径计数 * 从*k
开始的路径计数)k
j
我的最终数组应该有任意 2 个顶点之间的路径数。
我无法证明这并没有给我 2 个顶点之间的简单路径的计数,但是没有建议在其他地方使用这种方法。
有人可以提供一个失败的反例吗?
PS:这不是我的作业,只是我捡到的一个编程练习。