【发布时间】:2020-11-06 20:14:55
【问题描述】:
鉴于图的边缘,我希望在 python 中创建一个算法来查找其中没有其他循环的所有循环,我已经尝试了几天的各种想法,但没有 100% 的可靠性。
例如,
该图的边如下:
[[0,1],[2,1],[0,2],[0,3],[3,1],[3,2]]
并且有 7 个可能的不同循环/循环:
[[0, 2, 1, 0], [0, 3, 2, 1, 0], [0, 3, 1, 0], [0, 2, 3, 1, 0], [0, 3, 1, 2, 0], [0, 3, 2, 0], [1, 3, 2, 1]]
但是循环[0,3,2,1,0] 中嵌入了循环[0,2,1,0] 和[0,3,2,0]。同样,[0,2,3,1,0] 中嵌入了循环 [0,3,2,0] 和 [0,3,1,0]。 [0,3,1,2,0] 和 [1,3,2,1] 也是如此。
因此,我的 python 程序应该过滤掉所有这些并给出
[[0,2,1,0],[0,3,1,0],[0,3,2,0]]
其中没有其他循环的循环。
【问题讨论】:
-
我已经尝试过了,但是如果我这样做了,[0,3,2,0] 也会被过滤掉,因为所有节点都在周期 [0,2,1,0] 中被访问过, [0,3,1,0]
标签: python algorithm data-structures graph computer-science