最小生成树 jgraphx

minimum spanning arborescence jgraphx

JGraphX 中是否有任何方法 returns 有向图的最小跨度树状图?

我一直在使用getMinimumSpanningTree方法,为'directed'参数设置'true',但它实际上是Prim的算法,在某些有向图上失败。

据我所知,JGraphX 的功能集相当有限。您可以使用 Mathematica 和名为 FindSpanningTree 的函数来解决这个问题。默认情况下,它会为您选择最合适的函数,但如果您愿意,可以将 method 设置为 MinimumCostArborescence

要找到最小生成树,您有 3 个选项:

就我个人而言,对于大多数图,我更喜欢 Kruskal 算法。

如果您想在通用图表下设置 JLink to use Mathematica is a bit overkill or want a free solution, then viable free open source alternative would be Python library Sage. Sage has method called edge_disjoint_spanning_trees

如果您更喜欢此选项,那么这里有 5 种从 java 调用 python 的方法:link.