我正在编辑弗洛伊德的算法,所以不是每个 Dk,其中 k 是最高中间顶点,k 是最大路径长度。最终它将具有与 Floyd 相同的输出,但每个子迭代都可能不同。例如,如果有 4 个顶点:0、1、2、3,我想找到从 0 到 3 的最大长度为 K 的最便宜的路径。假设该图是有向的。
因此,如果 k=2,那么我只能检查 0->3...0->1->3...0->2->3,其中每个箭头都表示一条边/路径。如果 k=3,那么我只能检查 0->3...0->1->3...0->1->2->3...0->2->3... 0->2->1->3,等等……
0 1 2 3
0 0 4 9 12
1 9 0 3 11 // the adj matrix I'm referencing for 1 example
2 9 10 0 2
3 1 99 6 0
除了弗洛伊德的算法,我需要帮助理解其中的实现,并且不知道从哪里开始。