uni-util-2.2.1.0: Utilities for the uniform workbench

Util.Huffman

Description

This code does Huffman coding, using the queue implementation. This can be used for constructing Huffman encodings, or for computing factorials efficiently.

Synopsis

Documentation

huffmanFold :: Ord a => (a -> a -> a) -> [a] -> aSource

huffmanFold op l where op is associative, l is a nonempty monotonically increasing list, and op has the property that (x1>=x2,y1>=y2) => (op x1 y1>=op x2 y2) computes the fold of l with op, by repeatedly folding the smallest two elements of the list until only one remains.