当前位置: 首页 > 知识库问答 >
问题:

找到两个给定节点/顶点之间路径中的最大边

周通
2023-03-14

我试图通过在MST中添加新顶点来更新MST。为此,我一直在关注Chin和Houck的“更新生成树”。http://www.computingscience.nl/docs/vakken/al/WerkC/UpdatingSpanningTrees.pdf

论文中的一个步骤要求我在两个给定顶点之间的路径中找到最大的边。我的想法是找到顶点之间所有可能的路径,然后从这些路径中找到最大的边。我一直在尝试在MATLAB中实现这一点。然而,到目前为止,我一直没有成功。任何查找两个顶点之间的所有路径,甚至两个给定节点/顶点之间的路径中的最大边的引导/清除算法都非常受欢迎。

作为参考,我想举一个例子。如果图有以下边1-2、1-3、2-4和3-4,则4和4之间的路径为:

1) 4-2-1-3-4

2) 4-3-1-2-4

非常感谢。

共有1个答案

芮念
2023-03-14

该算法通过降低t值来排除新MST中的大边。当算法完成时,t将是完成MST所需插入的最低边。

m值表示从r到z的路径上的最大边,每个插入段的局部边。如果可能的话,在循环的每次迭代中,m都会降低,从而删除之前的m边作为t的可能候选。

用文字解释并不容易,我建议在纸上运行算法,直到步骤清楚为止。

我在这里快速尝试了一下步骤:http://jacob.midtgaard-olesen.dk/?p=140

但基本上,该算法会添加来自旧MST的边,除非它在新节点z和旧MST中的另一个节点之间找到一条较小的边来添加。在本例中,边(A,B)不在新树中,因为该算法找到了与B更好的连接。

注意,在选择h和k时,如果t和(w, r)边值相等,我相信你应该选择(w, r)

最后,你可能应该仔细研究一下算法后的证明,以理解算法为什么有效。(我没有全部读完:)

 类似资料:
  • 问题内容: 我正在使用networkx处理图。我有一个很大的图(其中有近200个节点),我尝试查找两个节点之间的所有可能路径。但是,据我了解,networkx只能找到最短的路径。如何不仅获得最短路径,还获得所有可能路径? UPD:路径只能包含每个节点一次。 UPD2:我需要类似find_all_paths()函数的功能,在此进行描述:python.org/doc/essays/graphs.htm

  • Dijkstra算法说 对于图中给定的源节点,算法找到该节点和其他节点之间的最短路径 我得到了算法来找到那个节点和其他节点之间的最短路径。但是我的问题是,如果我需要为Linkedin/facebook这样的大图找到两个特定节点(比如N1和N2)的最短路径,我需要计算该节点N1和领英上其他节点(用户,意味着十亿用户)之间的距离吗首先,将其存储在高速缓存中,然后在询问两个节点的最短距离时从高速缓存中返

  • 我正在尝试编写一个算法,该算法将重建Floyd-Warshall算法中所有顶点对之间的最短路径(如果有,则为最短路径绑定多条路径)。我从这个问题中得到了一些提示:https://stackoverflow.com/a/11371588/7447425 基于此,我修改了Floyd Warshall算法: 该图是边缘列表的形式,例如: 到目前为止,一切似乎都很顺利。 对于路径重建, 但这不管用。那么,

  • 我有一个加权无向图。给定该图中的两个顶点之间没有路径,我想通过向图中添加边来创建它们之间的路径,尽可能少地增加图的总权重。是否有已知的算法来确定要添加哪些边? 一个类似的问题是,如果我有一个国家道路系统的图表,其中有两个城市彼此无法通过道路进入,我想修建一组最短的新道路来连接它们。它们之间可能有其他城市与两者都没有联系,如果它们存在,我想利用它们。 这里有一个小例子;红色和绿色是我要连接的顶点,黑

  • 王国连通性 对查尔斯国王来说,这是繁荣的一年,他正在迅速扩大他的王国。一个美丽的新王国最近已经建成,在这个王国里有许多城市由多条单向道路连接。两个城市可能由多条道路直接连接,这是为了确保高度连接。 在这个新王国中,查尔斯国王将其中一个城市作为他的金融首都,另一个作为战争首都,他希望这两个首都之间有高度的连通性。一对城市的连通性,比如城市A和城市B,被定义为从城市A到城市B的不同路径的数量。如果可能

  • 本文向大家介绍二叉树任意两个节点之间路径的最大长度?相关面试题,主要包含被问及二叉树任意两个节点之间路径的最大长度?时的应答技巧和注意事项,需要的朋友参考一下 考察点:树