A Locally Adaptive Data

A data compression scheme that exploits locality of reference, such as occurs when words are used frequently over short intervals and then fall into long periods of disuse, is described. The scheme is based on a simple heuristic for self-organizing sequential search and on variable-length encodings of integers. We prove that it never performs much worse than Huffman coding and can perform substantially better; experiments on real files show that its performance is usually quite close to that of Huffman coding. Our scheme has many implementation advantages: it is simple, allows fast encoding and decoding, and requires only one pass over the data to be compressed (static Huffman coding takes two passes).

[1]  D. Huffman A Method for the Construction of Minimum-Redundancy Codes , 1952 .

[2]  R. Gallager Information Theory and Reliable Communication , 1968 .

[3]  M. V. Wilkes,et al.  The Art of Computer Programming, Volume 3, Sorting and Searching , 1974 .

[4]  Peter Elias,et al.  Universal codeword sets and representations of the integers , 1975, IEEE Trans. Inf. Theory.

[5]  Andrew Chi-Chih Yao,et al.  An Almost Optimal Algorithm for Unbounded Searching , 1976, Inf. Process. Lett..

[6]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[7]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[8]  Robert G. Gallager,et al.  Variations on a theme by Huffman , 1978, IEEE Trans. Inf. Theory.

[9]  James R. Bitner,et al.  Heuristics That Dynamically Organize Data Structures , 1979, SIAM J. Comput..

[10]  Robert E. Tarjan,et al.  Design and Analysis of a Data Structure for Representing Sorted Lists , 1978, SIAM J. Comput..

[11]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1980, Acta Informatica.

[12]  David Maier,et al.  Hysterical B-trees , 1981, Inf. Process. Lett..

[13]  S. Rao Kosaraju,et al.  Localized search in sorted lists , 1981, STOC '81.

[14]  Robert E. Tarjan,et al.  Self-adjusting binary trees , 1983, STOC.

[15]  Jon Louis Bentley,et al.  Worst-Case Analyses of Self-Organizing Sequential Search Heuristics. , 1983 .

[16]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[17]  Robert E. Tarjan,et al.  Amortized efficiency of list update rules , 1984, STOC '84.

[18]  Jeffrey Scott Vitter,et al.  Design and analysis of dynamic Huffman coding , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[19]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[20]  Athanasios K. Tsakalidis,et al.  AVL-Trees for Localized Search , 1984, ICALP.

[21]  Donald E. Knuth,et al.  Dynamic Huffman Coding , 1985, J. Algorithms.

[22]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[23]  Peter Elias,et al.  Interval and recency rank source coding: Two on-line adaptive variable-length schemes , 1987, IEEE Trans. Inf. Theory.