This preview shows page 1. Sign up to view the full content.
2. Algorithm
:
1.
Multiply the cost of all of the edges by 1
2.
Perform Kruskal’s on the modified graph to find a maximally spanning tree.
3.
Output the modified graph with all of the edges multiplied by 1 again.
Complexity
:
The main part of of the algorithm is the Kruskal’s algorithm, which can theoretically be
done in O(ElogV) time. The multiplying each edge by 1 part will take O(E) complexity, so
the overall runtime sits at O(ElogV) time.
Proof of Correctness:
In a maximally spanning tree, every single vertex can be reached from every other vertex without
going through any cycles. Now suppose that within this tree we select a pair of nodes u and v and
the edge e with the lowest bandwidth between these two nodes, then theoretically we can create
two disjoint subgraphs that partitions the original tree by severing the edge e.
Now let’s assume that this edge e is not within the optimal path O between u and v, where
optimality is defined as maximizing the lowest bandwidth within the path. Within the maximum
This is the end of the preview. Sign up
to
access the rest of the document.
 Spring '08
 KLEINBERG
 Algorithms

Click to edit the document details