Storing a Sparse Table with 0(1) Worst Case Access Time
Journal of the ACM (JACM)
Surpassing the information theoretic bound with fusion trees
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
Generating a canonical prefix encoding
Communications of the ACM
Protocols for asymmetric communication channels
Journal of Computer and System Sciences
Succinct Representation of Balanced Parentheses and Static Trees
SIAM Journal on Computing
Skeleton Trees for the Efficient Decoding of Huffman Encoded Texts
Information Retrieval
Optimal bounds for the predecessor problem and related problems
Journal of Computer and System Sciences - STOC 1999
High-order entropy-compressed text indexes
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Large alphabets and incompressibility
Information Processing Letters
Compressed representations of sequences and full-text indexes
ACM Transactions on Algorithms (TALG)
Dynamic asymmetric communication
Information Processing Letters
A Fast Algorithm for Adaptive Prefix Coding
Algorithmica
Worst-Case Optimal Adaptive Prefix Coding
WADS '09 Proceedings of the 11th International Symposium on Algorithms and Data Structures
Compressing probability distributions
Information Processing Letters
CPM'12 Proceedings of the 23rd Annual conference on Combinatorial Pattern Matching
Journal of Discrete Algorithms
Hi-index | 0.00 |
It is well-known that, given a probability distribution over n characters, in the worst case it takes 驴(n logn) bits to store a prefix code with minimum expected codeword length. However, in this paper we first show that, for any 驴 with 0 驴驴 = O(polylog(n)), it takes O(n loglog(1 / 驴)) bits to store a prefix code with expected codeword length within an additive 驴 of the minimum. We then show that, for any constant c 1, it takes O(n 1 / c logn) bits to store a prefix code with expected codeword length at most c times the minimum. In both cases, our data structures allow us to encode and decode any character in O(1) time.