Abstruct-In this semi-tutorial paper, we will investigate the computational complexity of an abstract version of the Viterbi algorithm on a trellis, and show that if the trellis has e edges, the complexity of the Viterbi algortithm is @ ( e ) . This result suggests that the "best" trellis representation for a given linear block code is the one with the fewest edges. We will then show that, among all trellises that represent a given code, the original trellis introduced by Bahl, Cocke, Jelinek, and Raviv in 1974, and later rediscovered by Wolf, Massey, and Forney, uniquely minimizes the edge count, as well as several other figures of merit. Following Forney and Kschischang and Sorokine, we will also discuss "trellis-oriented" or "minimal-span" generator matrices, which facilitate the calculation of the size of the BCJR trellis, as well as the actual construction of it.