如何从地理工具图中获取所有循环?

How to get all Cycles from a geotools graph?

有谁知道如何在 geotools 图中获取所有现有的循环?存在的 CycleDetector 对象仅标识图中是否存在圆圈,仅此而已。

我觉得你的问题有点含糊。您是将图形建模为有向图还是无向图?此外,如果您想要处理 'all' 个周期,您可能需要 'minimal' 个周期的概念。 (否则,可以说 A->B->C->A,A->B->C->A->B->C->A,以及 A->B->C->A- >B->C->A->B->C->A 都是图中的循环。)

作为一段有用的代码,我建议您查看 GraphPartitioner。如果您的图表由不相交的部分组成,此 class 会将较大的图表分成不相交的部分。

对于其中的每一个部分,您都可以 运行 CycleDetector(或定向版本 DirectedCycleDetector)查看是否有任何连接子图要完成的工作。

看起来这个问题也很相关:Finding all cycles in undirected graphs