  An efficient algorithm for computing the branching structure of a compact
Riemann surface defined via an algebraic curve is presented. Generators of the
fundamental group of the base of the ramified covering punctured at the
discriminant points of the curve are constructed via a minimal spanning tree of
the discriminant points. This leads to paths of minimal length between the
points, which is important for a later stage where these paths are used as
integration contours to compute periods of the surface. The branching structure
of the surface is obtained by analytically continuing the roots of the equation
defining the algebraic curve along the constructed generators of the
fundamental group.
