English

Constant time enumeration of perfect bipartite matchings

Data Structures and Algorithms 2025-09-22 v1

Abstract

We present an algorithm that enumerates all the perfect matchings in a given bipartite graph G = (V,E). Our algorithm requires a constant amortized time to visit one perfect matching of G, in contrast to the current fastest algorithm, published 25 years ago by Uno, which requires O(log |V|) time. To facilitate the listing of all edges in a visited perfect matching, we develop a variant of arithmetic circuits, which may have broader applications in future enumeration algorithms. Consequently, a visited perfect matching is represented within a binary tree. Although it is more common to provide visited objects in an array, we present a class of graphs for which achieving constant amortized time is not feasible in this case.

Keywords

Cite

@article{arxiv.2509.16135,
  title  = {Constant time enumeration of perfect bipartite matchings},
  author = {Jiří Fink},
  journal= {arXiv preprint arXiv:2509.16135},
  year   = {2025}
}

Comments

40 pages, 6 figures