otal message length (overhead + payload) is, therefore, 85 + 25 = 110 bits. This result compares with the 88-bit full message length of the adaptive FGK coding, which is 20% shorter. The FGK performance can be even further improved by decreasing the size of the overhead information, namely the definition of the Nidentified source symbols. Such a definition requires N log2 N bits. Using seven-bit ASCII, the source alphabet size is 27 = 128, which covers more than the ensemble of computer-keyboard characters. If the message to be encoded uses fewer than 128 symbols, the overhead can be reduced to fewer than seven bits. Regardless of the source size, it is possible to make a list of all possible symbols and to attribute to each one a code number of variable length, for instance defined by [-logp(xi)], where p(xi) is a conservative estimate of the symbol probability distribution with long messages. With this approach, the average overhead size is minimal, the most frequent symbols having shorter code-number definitions, and the reverse for the least frequent ones. Both encoder and decoder must share this standard symbol codebook. We conclude from this tedious but meaningful exercise that when taking into account the overhead, adaptive coding may yield a performance significantly greater than that of static coding. Such an advantage must be combined with the fact that encoding and decoding can be performed dynamically "on the fly," unlike in the static case. Furthermore, changes in the source's characteristics (symbol alphabet and distribution) do not affect the optimality of the code, which, as its name indicates, is adaptive. The price to pay for these benefits is the extensive computations required (updating the coding tree for each symbol received). In contrast, static Huffman coding is advantageous as the message-source characteristics are fixed, or only slowly evolving in time. In this case, significantly longer messages can be optimally encoded with the same coding tree, without needing updates. Static-coding-t