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(|E|log|V|) time. The multiplying each edge by -1 part will take O(|E|) complexity, so the overall runtime sits at O(|E|log|V|) 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
access the rest of the document.