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ć 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(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.
This was improved by Baswana, Gupta and Sen REF to a randomized algorithm that maintains a maximal matching (and in particular 2-approximate MCM) in O(log n) expected amortized update time.
Fully Dynamic Maximal Matching in O (log n) Update Time
2011 IEEE 52nd Annual Symposium on Foundations of Computer Science
2011 IEEE 52nd Annual Symposium on Foundations of Computer Science
Mathematics Computer Science