Problem: Divide and Conquer MST
Consider the following divide-and-conquer algorithm for computing minimum spanning trees. The intuition is that we can divide a graph into half, solve the MST problem for each half, and then find a minimum cost edge spanning the two halves. More formally:
Given G = (V, E), partition V into V1 and V2 such that |V1| and |V2| differ by at most 1. Let E be the set of edges that are incident only on vertices in V1, and let E2 be the set of edges that are incident only on vertices in V2. Recursively solve the MST problem on each ofthe two subgraphs G1 = (V1, E1) and G2 = (V2, E2). Finally, select the minimum- weight edge in E that crosses the cut (V1, V2) and use this edge to join the resulting two minimum spanning trees into a single spanning tree.
Prove that this algorithm correctly computes a minimum spanning tree of G, or provide an example for which the algorithm fails.