Elsevier

Theoretical Computer Science

Volume 754, 6 January 2019, Pages 16-34
Theoretical Computer Science

Space-efficient Euler partition and bipartite edge coloring

https://doi.org/10.1016/j.tcs.2018.01.008Get rights and content
Under an Elsevier user license
open archive

Abstract

We describe space-efficient algorithms for two problems on undirected multigraphs: Euler partition (partitioning the edges into a minimum number of trails); and bipartite edge coloring (coloring the edges of a bipartite multigraph with the minimum number of colors). Let n, m and Δ1 be the numbers of vertices and of edges and the maximum degree, respectively, of the input multigraph. For Euler partition we reduce the amount of working memory needed by a logarithmic factor, from Θ((n+m)log(n+m)) bits to O(n+m) bits, while preserving a running time of O(n+m). For bipartite edge coloring, still using O(n+m) bits of working memory, we achieve a running time of O(n+mmin{Δ,logΔ(logΔ+(logmlogΔ)/Δ)}). This is O(mlogΔlogΔ) if m=Ω(nlognloglogn/logn), to be compared with O(mlogΔ) for the fastest known algorithm. Instrumental in obtaining the latter result is a new data structure presented here, the subgraph stack, that allows graph algorithms centered around recursive calls on substantially smaller subgraphs to be implemented in a space-efficient manner.

Keywords

Graph algorithms
Data structures
Space efficiency
Euler partition
Bipartite edge coloring
Subgraph stacks

Cited by (0)

A preliminary version of this paper appeared as [17].