paper

Fast and Compact Prefix Codes

arXiv:0905.3107

Abstract

It is well-known that, given a probability distribution over characters, in the worst case it takes (Θ(n \log n)) bits to store a prefix code with minimum expected codeword length. However, in this paper we first show that, for any with (1 / ε= \Oh{\polylog{n}}), it takes $\Oh{n \log \log (1 / ε)}$ bits to store a prefix code with expected codeword length within of the minimum. We then show that, for any constant (c > 1), it takes $\Oh{n^{1 / c} \log n}$ bits to store a prefix code with expected codeword length at most times the minimum. In both cases, our data structures allow us to encode and decode any character in $\Oh{1}$ time.

Fast and Compact Prefix Codes · wovepaper