Affiliation:
1. Univ. of Colorado at Boulder, Boulder
2. Columbia Univ., New York, NY; and Tel Aviv Univ., Tel Aviv, Israel
3. Rensselaer Polytechnic Institute, Troy, NY
Abstract
The (
component
)
merging problem
is a new graph problem. Versions of this problem appear as bottlenecks in various graph algorithms. A new data structure solves this problem efficiently, and two special cases of the problem have even more efficient solutions based on other data structures. The performance of the data structures is sped up by introducing a new algorithmic tool called
packets
.
The algorithms that use these solutions to the component merging problem also exploit new properties of two existing data structures. Specifically, Β-trees can be used simultaneously as a priority queue and a concatenable queue. Similarly, F-heaps support some kinds of split operations with no loss of efficiency.
An immediate application of the solution to the simplest version of the merging problem is an Ο(
t
(
m
,
n
)) algorithm for finding minimum spanning trees in undirected graphs
without
using F-heaps, where
t
(
m
,
n
) =
m
log
2
log
2
log
d
n
, the graph has
n
vertices and
m
edges, and
d
= max(
m
/
n
, 2). Packets also improve the F-heap minimum spanning tree algorithm, giving the fastest algorithm currently known for this problem.
The efficient solutions to the merging problem and the new observation about F-heaps lead to an Ο(
n
(
t
(
m
,
n
) +
n
log
n
)) algorithm for finding a maximum weighted matching in general graphs. This settles an open problem posed by Tarjan [ 15, p. 123], where the weaker bound of
O
(
nm
log (
n
2
/
m
)) was conjectured.
Publisher
Association for Computing Machinery (ACM)
Subject
Artificial Intelligence,Hardware and Architecture,Information Systems,Control and Systems Engineering,Software
Cited by
40 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献