We present an algorithm for maintaining maximal matching in a graph under addition and deletion of edges. Our data structure is randomized that takes $O( \log n)$ expected amortized time for each edge update where $n$ is the number of vertices in the graph. While there is a trivial $O(n)$ algorithm for edge update, the previous best known result for this problem was due to Ivkovi\'c and Llyod\cite{llyod}. For a graph with $n$ vertices and $m$ edges, they give an $O( {(n+ m)}^{0.7072})$ update time algorithm which is sub linear only for a sparse graph. %To the best of our knowledge this %is the first polylog update time for maximal matching that implies an % exponential improvement from the previous results. For the related problem of maximum matching, Onak and Rubinfeld \cite{onak} designed a randomized data structure that achieves $O(\log^2 n)$ expected amortized time for each update for maintaining a $c$-approximate maximum matching for some large constant $c$. In contrast, we can maintain a factor two approximate maximum matching in $O(\log n )$ expected amortized time per update as a direct corollary of the maximal matching scheme. This in turn also implies a two approximate vertex cover maintenance scheme that takes $O(\log n )$expected amortized time per update.
[1]
Silvio Micali,et al.
An O(v|v| c |E|) algoithm for finding maximum matching in general graphs
,
1980,
21st Annual Symposium on Foundations of Computer Science (sfcs 1980).
[2]
Monika Henzinger,et al.
Average-Case Analysis of Dynamic Graph Algorithms
,
1995,
SODA '95.
[3]
Dana Ron,et al.
On Approximating the Minimum Vertex Cover in Sublinear Time and the Connection to Distributed Algorithms
,
2007,
Electron. Colloquium Comput. Complex..
[4]
Piotr Sankowski,et al.
Faster dynamic matchings and vertex connectivity
,
2007,
SODA '07.
[5]
Mikkel Thorup,et al.
Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity
,
2001,
JACM.
[6]
Krzysztof Onak,et al.
Maintaining a large matching and a small vertex cover
,
2010,
STOC '10.
[7]
Errol L. Lloyd,et al.
Fully Dynamic Maintenance of Vertex Cover
,
1993,
WG.
[8]
Rasmus Pagh,et al.
Cuckoo Hashing
,
2001,
Encyclopedia of Algorithms.