||A list Viterbi algorithm (LVA) finds n most likely paths in a trellis diagram of a convolutional
code. One of the most efficient LVAs is the tree-trellis algorithm of Soong and Huang. We propose
a new implementation of this algorithm. Instead of storing the candidate paths in a single list sorted
according to the metrics of the paths, we show that it is computationally more efficient to use several
unsorted lists, where all paths of the same list have the same metric. For an arbitrary integer bit metric,
both the time and space complexity of our implementation are linear in n. Experimental results for a
binary symmetric channel and an additive white Gaussian noise channel show that our implementation
is much faster than all previous LVAs.