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 Ivkovic and Llyod[4]. For a graph with n vertices and m edges, they give an O((n + m)0.7072) update time algorithm which is sublinear only for a sparse graph. For the related problem of maximum matching, Onak and Rubinfeld [6] designed a randomized data structure that achieves O(log2 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.
Published in:
Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on
Date of Conference: 22-25 Oct. 2011