 
Summary: A simple algorithm for edgecoloring bipartite multigraphs
Noga Alon
It is well known that the chromatic index of any bipartite multigraph G with n vertices and m
edges is equal to its maximum degree k. The best algorithm currently known for finding a proper
kedgecoloring of such a multigraph runs in time O(m log k), see [2], or the forthcoming book [6], and
applies rather elaborate data structures together with the basic approach of [5]. Another algorithm,
of Cole and Hopcroft [1], finds such a coloring in time O(m log m). See [2] for the rather extensive
history and references, and [4] for a more recent, related algorithm. Here we describe a new, simpler
algorithm, that runs in time O(m log m) as well. Our description here is selfcontained.
Start with the known fact that one may assume that the graph G is regular. Indeed, if not,
identify repeatedly pairs of vertices that lie in the same side whose sum of degrees is at most k (as
long as there is such a pair). When this process terminates add, if needed, vertices to the smaller
side until both sides have the same number of vertices, and add edges to make sure the obtained
multigraph is kregular. It is easy to see that the number of edges in the new graph is at most 2m
and a proper kcoloring of it supplies a proper coloring of the original graph. We thus assume from
now on that G is kregular, and that it has n/2 vertices in each color class, and m = nk/2 edges.
Fact: If F = (V, E) is a bipartite graph, and H is a 2rregular multigraph obtained from F by
replacing each edge e E by m(e) parallel edges, then one can split H into two rregular spanning
subgraphs HR and HB in time O(E). (Note that the multigraph is given by its multiplicity function,
and that the running time is linear in the number of edges of F, and not in that of H.)
