使用提升图库

时间:2017-11-16 13:35:28

标签: algorithm c++11 graph graph-theory boost-graph

我有一个没有权重的无向邻接增强图。我需要在图表中找到最小周期。

enter image description here

最小周期:c1[1 2 3 4 ]c2[2 3 6 5],... 但例如:[1 2 5 6 3 4]不是minimum cycle,因为其中包含句点c1

我在搜索期间浏览了不同的帖子,但最终我得到了解决方案,以便在图表中获得所有周期,但不是最小周期。从Finding all cycles in undirected graphsCycles in an Undirected Graph我了解最好的方法是进行DFS搜索并查找back_edgesThis线程提供了一些带有boost的解决方案,但它给出了所有周期而不是最小周期,并且它没有实现。 Algorithm for finding minimal cycles in a graph还讨论了如何获得最小周期,但没有解决方案。

我很感激,如果某人有解决方法(在升级图库中更好)?

更新:此处的最小循环意味着在候选循环的顶点集中,两个顶点之间不应存在另一个直接连接。例如,在c3[1 2 5 6 7 4]中,顶点之间没有备份,因此它是minimum。但是在c4[1 2 3 6 7 4]中,[3 4]之间存在一个可以创建周期[1 2 3 4]的边缘,因此我们不会将c4视为最小值。

0 个答案:

没有答案