The two pieces of a one-tree can be optimized independently. Compute a minimum spanning tree on vertices and choose the two cheapest distinct edges incident to vertex one. Return their union.
Every feasible one-tree contains such a spanning tree and such a pair, so its cost is at least the sum of these two independent minima. Their union is itself feasible, attaining that lower bound. This proves optimality.
Use Prim's algorithm for : repeatedly add a cheapest edge crossing from the current tree to an unvisited vertex. The minimum spanning tree cut property makes each chosen edge safe. With the dense weight matrix of a complete graph, maintain the best connection to each unvisited vertex and select the least one by a scan. There are iterations with work apiece. A further scan finds the two cheapest incident edges. Thus the total complexity is , with additional working storage beyond the input matrix.

Articles by others on the same topic (0)

There are currently no matching articles.