For an undirected graph G=(V,E), the edge connectivity values between every pair of nodes of G can be succinctly recorded in a flow-equivalent tree that contains the edge connectivity value for a linear number of pairs of nodes. We generalize this result to show how we can efficiently recover a maximum set of disjoint paths between any pair of nodes of G by storing such sets for a linear number of pairs of nodes. At the heart of our result is an observation that combining two flow solutions of the same value, one between nodes s and r and the second between nodes r and t, into a feasible flow solution of value f between nodes s and t, is equivalent to solving a stable matching problem on a bipartite multigraph. Our observation, combined with an observation of Chazelle, leads to a data structure, which takes O(n^3^.^5) time to generate, that can construct the maximum number @l(u,v) of edge-disjoint paths between any pair (u,v) of nodes in time O(@a(n,n)@l(u,v)n) time.
[1]
T. C. Hu,et al.
Multi-Terminal Network Flows
,
1961
.
[2]
David R. Karger,et al.
Finding maximum flows in undirected graphs seems easier than bipartite matching
,
1998,
STOC '98.
[3]
L. Shapley,et al.
College Admissions and the Stability of Marriage
,
1962
.
[4]
Ravindra K. Ahuja,et al.
Network Flows: Theory, Algorithms, and Applications
,
1993
.
[5]
Bernard Chazelle,et al.
Computing on a free tree via complexity-preserving mappings
,
1984,
Algorithmica.
[6]
Robert W. Irving,et al.
The Stable marriage problem - structure and algorithms
,
1989,
Foundations of computing series.