Question: Your friend proposes a divide - and - conquer approach to compute a minimum spanning tree of a connected graph G = (V, E). The

Your friend proposes a divide - and - conquer approach to compute a minimum spanning tree of a connected graph G = (V, E). The helper function {G_1, G_2} = subgraphs (G) takes the graph G = (V, E) and partitions the vertices into two graphs G_1 = (V_1, E_1) and G_2 = (V_2, E_2) such that G_1 and G_2 are both connected and | V_1 | and | V_2 I differ by at most 1. {G_1, G_2} = subgraphs (G) MST_1 = DC_MST (G_1) MST_2 = DC_MST (G_2) let e = the minimum - weight edge connecting G_1 and G_2 return [MST_1, e, MST_2] We'll start by analyzing the runtime of this algorithm. Assume that the subgraphs function runs in O (n + m) time, where n = |V| and m = |E|. We'll find it helpful to consider the performance of this algorithm in the best and worst cases. The best case for this algorithm is a particular (simple and common) type of connected graph. What type of connected graph yields the best - case runtime? VERY briefly justify your answer. What type of connected graph yields the worst - case runtime? VERY briefly justify your answer. Give and briefly justify a good asymptotic lower bound on the best - case runtime of this algorithm in terms of n. Give and briefly justify a good asymptotic upper bound on the worst - case runtime of this algorithm in terms of n. Does this algorithm always generate a minimum spanning tree? Justify your
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
