  In this paper, we consider algorithms for edge-coloring multigraphs $G$ of
bounded maximum degree, i.e., $\Delta(G) = O(1)$. Shannon's theorem states that
any multigraph of maximum degree $\Delta$ can be properly edge-colored with
$\lfloor3\Delta/2\rfloor$ colors. Our main results include algorithms for
computing such colorings. We design deterministic and randomized sequential
algorithms with running time $O(n\log n)$ and $O(n)$, respectively. This is the
first improvement since the $O(n^2)$ algorithm in Shannon's original paper, and
our randomized algorithm is optimal up to constant factors. We also develop
distributed algorithms in the $\mathsf{LOCAL}$ model of computation. Namely, we
design deterministic and randomized $\mathsf{LOCAL}$ algorithms with running
time $\tilde O(\log^5 n)$ and $O(\log^2n)$, respectively. The deterministic
sequential algorithm is a simplified extension of earlier work of Gabow et al.
in edge-coloring simple graphs. The other algorithms apply the entropy
compression method in a similar way to recent work by the author and
Bernshteyn, where the authors design algorithms for Vizing's theorem for simple
graphs. We also extend those results to Vizing's theorem for multigraphs.
