【问题标题】:Unique paths undirected cyclic graph唯一路径无向循环图
【发布时间】:2016-09-25 22:24:49
【问题描述】:

我正在处理图表中的一个问题,并试图找出独特的路径

让我举个例子,让我们考虑一个有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 第一条路径就是集合 = [(1,2), (2,3 ), (3,4), (4,1)],而第二个是 = [(1,3), (3,2), (2,4), (4,1)]
    显然,这两组是不同的,因此路径也是不同的。边的顺序无关紧要,因为您只是在比较任意两组(路径)之间是否存在公共边。

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

【问题讨论】:

    标签: graph path std-pair undirected-graph


    【解决方案1】:

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

    【讨论】:

    • 请回答问题而不是发布链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多