compressed-3.0.2: src/Data/Compressed/LZ78.hs
-----------------------------------------------------------------------------
-- |
-- Module : Data.Compressed.LZ78
-- Copyright : (c) Edward Kmett 2009-2011
-- License : BSD-style
-- Maintainer : ekmett@gmail.com
-- Stability : experimental
-- Portability : non-portable (type families)
--
-- Compression algorithms are all about exploiting redundancy. When applying
-- an expensive 'Reducer' to a redundant source, it may be better to
-- extract the structural redundancy that is present. 'LZ78' is a compression
-- algorithm that does so, without requiring the dictionary to be populated
-- with all of the possible values of a data type unlike its later
-- refinement LZW, and which has fewer comparison reqirements during encoding
-- than its earlier counterpart LZ77.
-----------------------------------------------------------------------------
module Data.Compressed.LZ78
(
-- * Lempel-Ziv 78
LZ78
-- * Encoding
, encode -- /O(n)/
, encodeOrd -- /O(n log n)/
, encodeEq -- /O(n^2)/
-- * Decoding (reduce)
, decode
-- * Recoding
, recode -- /O(n)/
, recodeOrd -- /O(n log n)/
, recodeEq -- /O(n^2)/
) where
import Data.Compressed.Internal.LZ78