Algorithm 无向循环图中的最短路径

Algorithm 无向循环图中的最短路径,algorithm,graph-theory,graph-algorithm,shortest-path,Algorithm,Graph Theory,Graph Algorithm,Shortest Path,有人能解释一下无向图G=(V;E)是如何给出的吗;边缘长度le>0;和E中的边 我们可以生成包含边e的最短循环的长度 我知道如何在有向图中做到这一点,但我不知道如何处理无向图的问题。不修改图:设e为边(u,v)。选择两个节点中的一个——我将选择u——并从u开始运行一个普通的Dijkstra/BFS,只需做一个小修改:在进行第一个跃点时,不能将v添加到队列中。现在在不修改图形的情况下搜索v.:设e为边(u,v)。选择两个节点中的一个——我将选择u——并从u开始运行一个普通的Dijkstra/BFS

有人能解释一下无向图G=(V;E)是如何给出的吗;边缘长度le>0;和E中的边

我们可以生成包含边e的最短循环的长度


我知道如何在有向图中做到这一点,但我不知道如何处理无向图的问题。

不修改图:设e为边(u,v)。选择两个节点中的一个——我将选择u——并从u开始运行一个普通的Dijkstra/BFS,只需做一个小修改:在进行第一个跃点时,不能将v添加到队列中。现在在不修改图形的情况下搜索v.

:设e为边(u,v)。选择两个节点中的一个——我将选择u——并从u开始运行一个普通的Dijkstra/BFS,只需做一个小修改:在进行第一个跃点时,不能将v添加到队列中。现在搜索v.

删除e={v1,v2)并找到从v1到v2的最短路径?如果图是无向的,并且您正在寻找一个循环,那么在这个问题上为什么会有一个
DAG
标记?如果
e
的末端是
v1
v2
,那么无向图中的最短循环将是平凡的一个
v1-v2-v1
:-)我确信这不是“这不是你想要的,所以你可能想澄清,这个周期至少需要有三条边。@n.m.太棒了!你为什么不加上这个作为答案呢?@dasblinkenlight同意,现在我的解决方案看起来非常复杂-。-@Phantom为什么,我认为你的解决方案也很干净。删除e={v1,v2)并找到从v1到v2的最短路径?如果图是无向的,并且您正在寻找一个循环,那么在这个问题上为什么会有一个
DAG
标记?如果
e
的末端是
v1
v2
,那么无向图中的最短循环将是平凡的一个
v1-v2-v1
:-)我确信这不是“这不是你想要的,所以你可能想澄清,这个周期至少需要有三条边。@n.m.太棒了!你为什么不加上这个作为答案呢?@dasblinkenlight同意,现在我的解决方案看起来非常复杂-。-@Phantom为什么,我认为你的解决方案也很干净。