Performance bounds for maximum-likelihood decoding of convolutional codes over memoryless channels are commonly measured using the distance weight enumerator T(x, y), also referred to as the transfer function, of the. code. This paper presents an efficient iterative method to obtain T(x, y) called the state reduction algorithm. The algorithm is a systematic technique to simplify signal flow, graphs that algebraically manipulate's the symbolic adjacency matrix associated with the convolutional code. Next, the algorithm is modified to compute the first few terms of the series expansion of T(1, y) and {partial derivativeT(x, y)/partial derivativex}(x=1) (the distance spectra) without first computing the complete T(x, y).