algorithm - 如何找到图形的直径?

标签 algorithm graph performance diameter-protocol

嘿,我正在寻找一种算法来查找无向无权图 G=(V,E) 中的直径(最长的最短路径)。

我发现的最佳解决方案是运行 BFS |V|次,运行时间:O(|V|*(|v|+|E|))。 有人能想到更有效的解决方案吗? 即使它只是更有效率一点,我也想听听你的想法!

非常感谢:)

最佳答案

Crescenzi et al. on “On Computing the Diameter of Real-world Undirected Graphs.” (2013) 最近的一些工作提出了一种在最坏情况下运行 O(V*E) 的算法,但在许多实际应用中运行的算法是 O(V)(我认为这意味着稀疏图) )。

关于algorithm - 如何找到图形的直径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18733039/

相关文章:

java - 将字符串转换为二叉树

performance - 外键约束会影响 Oracle 中的查询转换吗?

javascript - Meteor - 模板中的 {{#each}} 首先加载旧数据,然后重新加载

java - 最高 "Valued"回文

c++ - 如何从传递给某些 STL 算法的谓词中获取元素索引?

ruby - 如何使用 Ruby 在图中查找连通分量

c# - WPF 中的低分配绘图

c++ - DFID(深度优先迭代深化)与 IDA*(迭代深化 A*)

node.js - 将唯一文件路径转换为唯一整数

通过所有边的最短路径算法