How do I find the diameter of a graph?

3.2k views Asked by At

hey i'm looking for an algorithm to find the diameter (the longest shortest path) in an undirected unweighted graph G=(V,E).

the best solution i found was to run BFS |V| times, running time: O(|V|*(|v|+|E|)). can anybody think of a more efficient solution? even if it's only a bit more efficient i'd like to hear your ideas !

thanks a lot :)

1

There are 1 answers

1
Chronial On

There is some very recent work by Crescenzi et al. on “On Computing the Diameter of Real-world Undirected Graphs.” (2013) that proposes an algorithm that runs in O(V*E) worst case, but O(V) in a lot of real-world applications (I assume that means sparse graphs).