Problem: Given a tree T = (V,E) . Add minimum number of edges so that even if one edge is removed from newly created graph still there is path from any vertex to any other vertex.
I believe the problem can be reduced to increasing the size of min-cut of graph to 2 from current min-cut of 1. But what will be an efficient algorithm to do so.
Here is algorithm, solving this problem for any undirected graph. It may be applied to a tree after some simplifications (step 1 is not needed).
Step 4 guarantees that we’ll not get a new unneeded leaf after step 6, which is key to optimality.