Vitter's algorithm


Definition: An adaptive Huffman coding scheme. Typically this produces codings the same length as or shorter than static Huffman coding. In the worst case, this uses one more bit per codeword.

Generalization (I am a kind of ...)
adaptive Huffman coding.

Aggregate child (... is a part of or used in me.)
full binary tree.

See also algorithm FGK.

Author: PEB


Algorithm 673 in plain text (Pascal).

More information

survey of data compression

Jeffrey Scott Vitter, Design and analysis of dynamic Huffman codes, Journal of the ACM 34(4):825-845, October 1987.
Jeffrey Scott Vitter, ALGORITHM 673: dynamic Huffman coding, ACM Transactions on Mathematical Software, 15(2):158-167, June 1989.

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul Black.

Entry modified 25 July 2022.
HTML page formatted Mon Jul 25 09:56:30 2022.

Cite this as:
Paul E. Black, "Vitter's algorithm", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed. 25 July 2022. (accessed TODAY) Available from: