【发布时间】:2021-03-08 09:15:01
【问题描述】:
在 Golang 中是否有任何算法实现在具有自边的有向多重图中查找所有循环?我发现Johnson's algo 是有向图的最佳解决方案,gonum 中给出了一个实现,但它仅适用于有向图(而不是多重图)并且它不支持自边(实际上 gonum 中的有向图不要' t 支持自边缘)。我可以在 gonum 中做任何简短/聪明的 hack 来使 johnson 对具有自边缘的有向多重图的工作吗?或者 Golang 中还有其他实现吗?
可以做的一件事是在自身边和同一对节点之间的重复边之间创建一个虚拟节点。这将删除所有自我边缘,并且图形将是有向的,我可以在这里使用 Johnson's。但是有没有更好的办法呢?
【问题讨论】: