Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 求未加权无向图的直径_Algorithm_Graph_Graph Algorithm_Pseudocode - Fatal编程技术网

Algorithm 求未加权无向图的直径

Algorithm 求未加权无向图的直径,algorithm,graph,graph-algorithm,pseudocode,Algorithm,Graph,Graph Algorithm,Pseudocode,图中任意两点之间的最大最小距离 要解决这个问题,我们只需从任何节点执行BFS,然后从距离原始节点最远的节点中选择一个节点。在这个新节点上执行BFS,然后这里的最大距离就是图的直径 另一篇文章讨论了加权有向图。这是严格为未加权的。虽然相同的算法可能在这里也适用,但我想问的是,我们是否可以用我在这里提出的算法来更有效地实现它 正是这样做的 G = nx.lollipop_graph(5, 5) nx.diameter(G) 输出:6这是否回答了您的问题?这是我在帖子中提到的另一篇帖子。我要的是一个

图中任意两点之间的最大最小距离

要解决这个问题,我们只需从任何节点执行BFS,然后从距离原始节点最远的节点中选择一个节点。在这个新节点上执行BFS,然后这里的最大距离就是图的直径

另一篇文章讨论了加权有向图。这是严格为未加权的。虽然相同的算法可能在这里也适用,但我想问的是,我们是否可以用我在这里提出的算法来更有效地实现它

正是这样做的

G = nx.lollipop_graph(5, 5)
nx.diameter(G)

输出:
6

这是否回答了您的问题?这是我在帖子中提到的另一篇帖子。我要的是一个未加权的无向图,我没有找到任何伪代码。你是说直径等于偏心率(v)的两倍?i、 e.BFS两次?所以O(N)?我不确定文档之外的细节,文档中说明了偏心率是为图中的每个节点计算的,最大偏心率值作为图的直径返回。我的问题是,你是否可以只做两次偏心率,得到相同的结果。看看我的问题。我不是说要从所有节点执行BFS max dist,只有2个。