A simple algorithm for edge-coloring bipartite multigraphs It is well known that the chromatic index of any bipartite multigraph G with n vertices and m Summary: A simple algorithm for edge-coloring 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 k-edge-coloring 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 self-contained. 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 k-regular. It is easy to see that the number of edges in the new graph is at most 2m and a proper k-coloring of it supplies a proper coloring of the original graph. We thus assume from now on that G is k-regular, 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 2r-regular multigraph obtained from F by replacing each edge e E by m(e) parallel edges, then one can split H into two r-regular 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.) Collections: Mathematics