Finding all maximally-matchable edges in a bipartite graph

From MaRDI portal
Publication:418005

DOI10.1016/J.TCS.2011.12.071zbMATH Open1241.05117DBLPjournals/tcs/Tassa12arXiv1107.4711OpenAlexW1998124720WikidataQ56341084 ScholiaQ56341084MaRDI QIDQ418005FDOQ418005


Authors: Tamir Tassa Edit this on Wikidata


Publication date: 14 May 2012

Published in: Theoretical Computer Science (Search for Journal in Brave)

Abstract: We consider the problem of finding all allowed edges in a bipartite graph G=(V,E), i.e., all edges that are included in some maximum matching. We show that given any maximum matching in the graph, it is possible to perform this computation in linear time O(n+m) (where n=|V| and m=|E|). Hence, the time complexity of finding all allowed edges reduces to that of finding a single maximum matching, which is O(n1/2m) [Hopcroft and Karp 1973], or O((n/logn)1/2m) for dense graphs with m=Theta(n2) [Alt et al. 1991]. This time complexity improves upon that of the best known algorithms for the problem, which is O(nm) ([Costa 1994] for bipartite graphs, and [Carvalho and Cheriyan 2005] for general graphs). Other algorithms for solving that problem are randomized algorithms due to [Rabin and Vazirani 1989] and [Cheriyan 1997], the runtime of which is ildeO(n2.376). Our algorithm, apart from being deterministic, improves upon that time complexity for bipartite graphs when m=O(nr) and r<1.876. In addition, our algorithm is elementary, conceptually simple, and easy to implement.


Full work available at URL: https://arxiv.org/abs/1107.4711




Recommendations




Cites Work


Cited In (17)





This page was built for publication: Finding all maximally-matchable edges in a bipartite graph

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q418005)