Dynamic Matchings in Convex Bipartite Graphs

  • Gerth Stølting Brodal
  • Loukas Georgiadis
  • Kristoffer Arnsfelt Hansen
  • Irit Katriel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4708)


We consider the problem of maintaining a maximum matching in a convex bipartite graph G = (V,E) under a set of update operations which includes insertions and deletions of vertices and edges. It is not hard to show that it is impossible to maintain an explicit representation of a maximum matching in sub-linear time per operation, even in the amortized sense. Despite this difficulty, we develop a data structure which maintains the set of vertices that participate in a maximum matching in O(log2|V|) amortized time per update and reports the status of a vertex (matched or unmatched) in constant worst-case time. Our structure can report the mate of a matched vertex in the maximum matching in worst-case O( min { k log2|V| + log|V|, |V| log|V|}) time, where k is the number of update operations since the last query for the same pair of vertices was made. In addition, we give an \(O(\sqrt{|V|} \log^2{|V|})\)-time amortized bound for this pair query.


Bipartite Graph Internal Node Maximum Match Status Query Left Child 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Berge, C.: Two theorems in graph theory. Proc. Nat. Acad. Sci. 43, 842–844 (1957)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Coppersmith, D., Winograd, S.: Matrix multiplication via arithmetic progressions. Journal of Symbolic Computation 9(3), 251–280 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Dekel, E., Sahni, S.: A parallel matching algorithm for convex bipartite graphs and applications to scheduling. Journal of Parallel and Distributed Computing 1, 185–205 (1984)CrossRefGoogle Scholar
  4. 4.
    Gabow, H.N., Tarjan, R.E.: A linear-time algorithm for a special case of disjoint set union. Journal of Computer and System Sciences 30(2), 209–221 (1985)Google Scholar
  5. 5.
    Galil, Z.: Efficient algorithms for finding maximum matching in graphs. ACM Comput. Surv. 18(1), 23–38 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Gallo, G.: An O(nlogn) algorithm for the convex bipartite matching problem. Operations Research Letters 3(1), 31–34 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Glover, F.: Maximum matching in convex bipartite graphs. Naval Research Logistic Quarterly 14, 313–316 (1967)zbMATHCrossRefGoogle Scholar
  8. 8.
    Guibas, L., Sedgewick, R.: A dichromatic framework for balanced trees. In: Proc. 19th IEEE Symp. on Foundations of Computer Science, pp. 8–21 (1978)Google Scholar
  9. 9.
    Harvey, N.J.A.: Algebraic structures and algorithms for matching and matroid problems. In: Proc. 47th IEEE Symp. on Foundations of Computer Science, pp. 531–542 (2006)Google Scholar
  10. 10.
    Hopcroft, J.E., Karp, R.M.: An n 5/2 algorithm for maximum matchings in bipartite graphs. SIAM Journal on Computing 2(4), 225–231 (1973)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Lipski, W., Preparata, F.P.: Efficient algorithms for finding maximum matchings in convex bipartite graphs and related problems. Acta Informatica 15, 329–346 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Micali, S., Vazirani, V.: An \({O}(\sqrt{|V|}\cdot{|E|})\) algorithm for finding maximal matching in general graphs. In: Proc. 21st IEEE Symp. on Foundations of Computer Science, pp. 17–27 (1980)Google Scholar
  13. 13.
    Mucha, M., Sankowski, P.: Maximum matchings via gaussian elimination. In: Proc. 45th IEEE Symp. on Foundations of Computer Science, pp. 248–255 (2004)Google Scholar
  14. 14.
    Nievergelt, J., Reingold, E.M.: Binary search trees of bounded balance. In: Proc. 4th ACM Symp. on Theory of Computing, pp. 137–142 (1972)Google Scholar
  15. 15.
    Nievergelt, J., Wong, C.K.: Upper bounds for the total path length of binary trees. Journal of the ACM 20(1), 1–6 (1973)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Sankowski, P.: Dynamic transitive closure via dynamic matrix inverse. In: Proc. 45th IEEE Symp. on Foundations of Computer Science, pp. 509–517 (2004)Google Scholar
  17. 17.
    Sankowski, P.: Faster dynamic matchings and vertex connectivity. In: Proc. 18th ACM-SIAM Symp. on Discrete Algorithms, pp. 118–126 (2007)Google Scholar
  18. 18.
    Scutellà, M.G., Scevola, G.: A modification of Lipski-Preparata’s algorithm for the maximum matching problem on bipartite convex graphs. Ricerca Operativa 46, 63–77 (1988)Google Scholar
  19. 19.
    Steiner, G., Yeomans, J.S.: A linear time algorithm for determining maximum matchings in convex, bipartite graphs. Computers and Mathematics with Applications 31(12), 91–96 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    van Emde Boas, P.: Preserving order in a forest in less than logarithmic time and linear space. Information Processing Letters 6(3), 80–82 (1977)zbMATHCrossRefGoogle Scholar
  21. 21.
    van Hoeve, W.-J.: The AllDifferent Constraint: A Survey. In: Proceedings of the Sixth Annual Workshop of the ERCIM Working Group on Constraints (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Loukas Georgiadis
    • 2
  • Kristoffer Arnsfelt Hansen
    • 3
  • Irit Katriel
    • 4
  1. 1.University of Aarhus, ÅrhusDenmark
  2. 2.Hewlett-Packard Laboratories, Palo Alto, CAUSA
  3. 3.University of Chicago, Chicago, ILUSA
  4. 4.Brown University, Providence, RIUSA

Personalised recommendations