Suurballe的算法是找到源 - 目的地对的k个不相交路径,但是现在,我遇到的问题是目的地不是单一的。例如,我想从节点' A'中找到k(K> = 3)个不相交的路径。节点' B' C',' D'如何解决这个问题?
BTW,我可以从那里获得关于Suurballe算法的代码(更好的Java)?(简单版本)。谢谢!
答案 0 :(得分:0)
将您的网络转换为具有唯一接收器的网络。为了实现这一点,您必须在原始网络中添加一个“虚拟顶点” - 我们将其称为超级接收器。除此之外,您还必须将每个普通目标的边缘添加到超级接收器。
Lemon(C ++)提供了常见图算法的实现。