唯一路径无向循环图

时间:2016-05-27 14:21:17

标签: graph path std-pair undirected-graph

我正在研究图表中的问题并试图找出找到唯一路径

让我举个例子,让我们考虑一个包含4个节点和6个带边的边的图,如下所示 -

1 2
2 3
3 4
4 1
1 3
2 4

长度为5的唯一循环路径为 -

  1. 1 - > 2 - > 3 - > 4 - > 1
  2. 1 - > 3 - > 2 - > 4 - > 1
  3. 1 - > 2 - > 4 - > 3 - > 1

    如果路径的边缘集合相等,则认为两条路径相等。考虑两个路径1 - > 2 - > 3 - > 4 - > 1和1 - > 3 - > 2 - > 4 - > 1第一条路径就是set = [(1,2),(2,3),(3,4),(4,1)],而第二条路径= [(1,3),(3, 2),(2,4),(4,1)]
    显然,这两组是不同的,因此路径也是如此。边缘的排序是无关紧要的,因为您只是比较任意两个集合(路径)之间的公共边缘的存在。

  4. 获得循环路径后,如何检查路径中路径是否具有相同的节点集?即,1 - > 2 - > 3 - > 4 - > 1和1 - > 4 - > 3 - > 2 - > 1具有相同的集合,即以[(1,2),(2,3),(3,4),(4,1)]的不同顺序。
    我想实现一个成对的地图和检查重复..仍在寻找更好的选择。 如何继续获得任何帮助?

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用Python Patterns - Implementing Graphs。它是一个很好的资源。我用它来解决从顶点x到y的图中唯一路径上的编程竞赛问题。enter link description here