Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems
Journal of the ACM (JACM)
Efficiency of a Good But Not Linear Set Union Algorithm
Journal of the ACM (JACM)
Applications of Path Compression on Balanced Trees
Journal of the ACM (JACM)
Network flow and generalized path compression
STOC '79 Proceedings of the eleventh annual ACM symposium on Theory of computing
An O($n\cdot I \log^2 I$) maximum-flow algorithm
An O($n\'cdot I \'log^2 I$) maximum-flow algorithm
An o(nm log n) algorithm for maximum network flow
An o(nm log n) algorithm for maximum network flow
Parallel algorithms for minimum cuts and maximum flows in planar networks
Journal of the ACM (JACM)
Searching tree structures on a mesh of processors
SODA '92 Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms
Incremental Maintenance of the 5-Edge-Connectivity Classes of a Graph
SWAT '00 Proceedings of the 7th Scandinavian Workshop on Algorithm Theory
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
Dynamic purity analysis for java programs
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Perfect Matching for Biconnected Cubic Graphs in O(n log2n) Time
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
Minimum spanning tree on spatio-temporal networks
DEXA'10 Proceedings of the 21st international conference on Database and expert systems applications: Part II
Confluent persistence revisited
Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete Algorithms
Hi-index | 0.00 |
We propose a data structure to maintain a collection of vertex-disjoint trees under a sequence of two kinds of operations: a link operation that combines two trees into one by adding an edge, and a cut operation that divides one tree into two by deleting an edge. Our data structure requires O(log n) time per operation when the time is amortized over a sequence of operations. Using our data structure, we obtain new fast algorithms for the following problems: (1) Computing deepest common ancestors. (2) Solving various network flow problems including finding maximum flows, blocking flows, and acyclic flows. (3) Computing certain kinds of constrained minimum spanning trees. (4) Implementing the network simplex algorithm for the transshipment problem. Our most significant application is (2); we obtain an O(mn log n)-time algorithm to find a maximum flow in a network of n vertices and m edges, beating by a factor of log n the fastest algorithm previously known for sparse graphs.