Software Practice and Experience · 1994 · 207 citations · 4 references
ComputingComputer EngineeringComputer ScienceAlgorithmsComputer ArchitectureData StructuresCoding TheoryData CompressionData Structure AlgorithmsData Structure DesignFrequency AnalysisLookup TablesAlphabetsCodingCompressed Data StructuresCompression AlgorithmsCumulative Frequency AnalysisCumulative Frequency DistributionsCumulative Frequency TableSymbol Table Data Structures
Abstract A new method (the ‘binary indexed tree’) is presented for maintaining the cumulative frequencies which are needed to support dynamic arithmetic data compression. It is based on a decomposition of the cumulative frequencies into portions which parallel the binary representation of the index of the table element (or symbol). The operations to traverse the data structure are based on the binary coding of the index. In comparison with previous methods, the binary indexed tree is faster, using more compact data and simpler code. The access time for all operations is either constant or proportional to the logarithm of the table size. In conjunction with the compact data structure, this makes the new method particularly suitable for large symbol alphabets.
4
Arithmetic coding for data compression
Ian H. Witten, Radford M. Neal, John G. Cleary · Communications of the ACM · 1987 · 2.9K citations · Full text
Alistair Moffat · Software Practice and Experience · 1989 · 174 citations
Application of splay trees to data compression
Douglas W. Jones · Communications of the ACM · 1988 · 95 citations · Full text