There is an index slip in the source: starting with and performing steps produces the final graph . Write for that final graph. The literal assertion for can fail: take a triangle with , , . Before the final step the extra edge remains; only the final deletion removes it.
The invariant is that and remain connected. Choose a simple graph path in . If an edge of did not lie in , then at its processing time was still present and avoided that edge. The algorithm would therefore have deleted it, a contradiction. Thus every edge of lies in . The final graph is precisely an path and possibly isolated vertices.
Let be the smallest threshold for which the edges of length at most connect to . This is exactly the optimum value of the bottleneck shortest path problem. While any edge longer than is being processed, every edge of some threshold- route is still present, because shorter edges have not yet been processed. Thus all edges longer than are deleted. The final path from part (i) consequently has maximum edge length at most . It cannot have a smaller maximum by the definition of , proving optimality. Ties in edge ordering do not affect this argument.
Take a minimum spanning tree , for example one constructed by Kruskal's algorithm. Fix and let be a longest edge of the tree's unique path. Deleting partitions into two components separating and . Any alternative path crosses this graph cut. If all of its edges were shorter than , a crossing edge would let us replace by , producing a spanning tree of smaller total length. This contradicts minimality of .
Therefore every competing path has an edge at least as long as , and the tree path solves the bottleneck shortest path problem. The same minimum spanning tree works simultaneously for every ; this is the minimax path property of a minimum spanning tree.
Articles by others on the same topic
There are currently no matching articles.