Page 1 of 1
Diameter of Tree - can it be done better than in O(V*(V+E))
Posted: Sat Nov 11, 2006 12:11 pm
What's the proper approach to finding Diamter of a tree?
Obvious solution: for each vertice do bfs. Is there any other way?
I read about rooting, rootfix and all that kind of thing, but what do you say?
Posted: Sat Nov 11, 2006 12:27 pm
This can quite easily be done in O(V). Pick a root and start a DFS from it which returns both the diameter of the subtree and its maximum height. The diameter is the maximum of (left diameter, right diameter, left height + right height).
Posted: Sat Nov 11, 2006 12:32 pm
Is this state-of-art solution? I'll try it now...
Well, can this approach solve spoj-problem Labyrinth?...
Problem numbers in uVa
Posted: Sat Nov 11, 2006 7:00 pm
Can someone post problem numbers in the UVA where we need to find the diameter of the graph? ... thanks.
Posted: Thu Nov 16, 2006 7:11 pm
There is a nice problem by Abednego somewhere in 108xx as far as I can remember - about minimum diameter spanning tree. "Labyrinth" from SPOJ is pretty straightforward one.
Well, answering the question posed here -
YES, diameter of a tree can be found in O(V+E)
Another problem :)
Posted: Mon Nov 20, 2006 12:45 pm
Hi Serur, a straightforward problem of finding the diameter of a tree at UVa is 10308- Roads in the North. Thanks.
Posted: Tue Nov 21, 2006 9:58 am
nymo, thank you for a nice problem. So for an arbitrary tree diameter problem can be solved in O(V+E), i.e. with constant number of bfs's. My question here is: now please you fellows comment here on minimum-diameter spanning tree problem.
EDIT: to nymo:
problems about diameter of tree from Sphere Online judge: