我有一个无向、未加权的图,我想找到与图中其他节点的最大距离最小的节点。差不多,我只想找到图表的中心。
我尝试了一种 O(N*(N+E)) 方法,找到距每个节点的最大距离,然后取最小的距离。我想知道是否有比 O(N*(N+E)) 更快的算法来完成这项工作。
您可以从所有节点并行运行 BFS,一次一个深度。然后当一个 BFS 完成时你就可以停止,不需要完成其他的。仍然是 O(N*(N+E)) 但可能会更快,具体取决于您的数据。