English

Optimal Enumeration of Eulerian Trails in Directed Graphs

Data Structures and Algorithms 2026-04-27 v2 Discrete Mathematics

Abstract

The BEST theorem, due to de Bruijn, van Aardenne-Ehrenfest, Smith, and Tutte, is a classical tool from graph theory that links the Eulerian trails in a directed graph G=(V,E)G=(V,E) with the arborescences in GG. In particular, one can use the BEST theorem to count the Eulerian trails in GG in polynomial time. For enumerating the Eulerian trails in GG, one could naturally resort to first enumerating the arborescences in GG and then exploiting the insight of the BEST theorem to enumerate the Eulerian trails in GG: every arborescence in GG corresponds to at least one Eulerian trail in GG. For over two decades, the fastest algorithm for enumerating arborescences in GG took O(mlogn+n+zAlog2n)O(m\log n + n + z_A \log^2 n) time, where n=Vn=|V|, m=Em=|E|, and zAz_A is the number of arborescences in GG [Uno, ISAAC 1998]. Since Uno's algorithm does not lead to an optimal enumeration of Eulerian trails in directed graphs, we were motivated to develop a direct algorithm for this problem. Our central contribution is a remarkably simple algorithm to directly enumerate the zTz_T Eulerian trails in GG in the optimal O(m+zT)O(m + z_T) time. As a consequence, our result improves on an implementation of the BEST theorem for counting Eulerian trails in GG when zT=o(n2)z_T=o(n^2), and also unconditionally improves the combinatorial O(mzT)O(m\cdot z_T)-time algorithm of Conte et al. [FCT 2021] for the same task. Moreover, we show that, with some care, our algorithm can be extended to enumerate Eulerian trails in directed multigraphs in optimal time, enabling applications in bioinformatics and data privacy.

Keywords

Cite

@article{arxiv.2603.12894,
  title  = {Optimal Enumeration of Eulerian Trails in Directed Graphs},
  author = {Ben Bals and Solon P. Pissis and Matei Tinca},
  journal= {arXiv preprint arXiv:2603.12894},
  year   = {2026}
}
R2 v1 2026-07-01T11:18:16.978Z