Content deleted Content added
m rv silliness. |
External links |
||
Line 30:
A variation called '''adaptive Huffman coding''' calculates the frequencies dynamically based on recent actual frequencies in the source string. This is somewhat related to the [[LZ77|LZ]] family of algorithms.
Most often, the weights used in implementations of Huffman coding represent numeric probabilities, but the algorithm given above does not require this; it requires only a way to order weights and to add them. Huffman Template algorithm enables to use non-numerical weights (costs, frequences).
For example, see [http://alexvn.freeservers.com/s1/huffman_template_algorithm.html]▼
The '''n-ary Huffman''' algorithm uses the {0, 1, ..., n-1} alphabet to encode message and builds an n-ary tree.
Extreme cases of Huffman codes are connected with [[Fibonacci number]]s.
Huffman coding is optimal when the probability of each input symbol is a power of two. Prefix-free codes tend to have slight inefficiency on small alphabets, where probabilities often fall between powers of two. Expanding the alphabet size by coalescing multiple symbols into "words" before Huffman coding can help a bit.
Line 50 ⟶ 49:
*Huffman's original article: D.A. Huffman, "[http://compression.graphicon.ru/download/articles/huff/huffman_1952_minimum-redundancy-codes.pdf A method for the construction of minimum-redundancy codes]", Proceedings of the I.R.E., sept 1952, pp 1098-1102
*Background story: [http://www.huffmancoding.com/david/scientific.html Profile: David A. Huffman], [[Scientific American]], Sept. 1991, pp. 54-58
▲
* [http://mathforum.org/discuss/sci.math/t/207334 Huffman codes and Fibonacci numbers]
* [http://groups.google.com/groups?selm=2khnphF2dv60U1%40uni-berlin.de Computing Huffman codes on a Turing Machine]
[[Category:Compression algorithms]]
|