The adaptive version of this algorithm developed by Faller, Gallager, and Knuth, and later improved by Vitter, runs more slowly than the static version but does not depend on foreknowledge of character probabilities.
The adaptive version of this algorithm developed by Faller, Gallager, and Knuth, and later improved by Vitter, runs more slowly than the static version but does not depend on foreknowledge of character probabilities. This algorithm constructs a full binary (*) tree from the input data by creating a trivial tree for each character in the input data labeled with the frequency of each character, then successively merging the trees with the lowest root frequency. A prefix code for each letter is then determined by concatenating the edge labels of the path to the letter. For 10 points, identify this lossless compression algorithm.
The adaptive version of this algorithm developed by Faller, Gallager, and Knuth, and later improved by Vitter, runs more slowly than the static version but does not depend on foreknowledge of character probabilities.
{Huffman} coding (4) [ES]