A new data structure for cumulative frequency tables

  title={A new data structure for cumulative frequency tables},
  author={Peter M. Fenwick},
  journal={Software: Practice and Experience},
  • P. Fenwick
  • Published 1 March 1994
  • Computer Science
  • Software: Practice and Experience
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… 
A Constant Optimization of the Binary Indexed Tree Query Operation
This paper presents a data structure similar to the BIT, but with an even smaller constant, and uses Zeckendorf's Theorem, a property of the Fibonacci sequence of numbers to achieve the same complexity of $O(\log{n})$, but requires about $\phi^{2}} n$ computations for the Query Operation.
A Versatile and Efficient GPU Data Structure for Spatial Indexing
This paper presents a novel GPU-based data structure for spatial indexing based on Fenwick trees, which allows construction in linear time and provides asymptotic bounds on both run-time and memory requirements.
Implementing a Novel Data Structure for Maintaining Cumulative Frequency of Symbols
A new data structure, namely “cumulative frequency matrix (CFM)”, is proposed here for maintaining cumulative frequencies and practical implementation shows that proposed data structure is simpler as well as efficient as compared to other data structures in use.
Structures of String Matching and Data Compression
A conscious treatment of the context tree can combine the compression performance of predictive modelling with the computational efficiency of BWT, and a semi-static source modelling scheme is presented that obtains excellent compression, yet is also capable of high decoding rates.
A new approach to adaptive encoding data using self-organizing data structures
  • L. Rueda, B. John Oommen
  • Computer Science
    2007 22nd international symposium on computer and information sciences
  • 2007
It is demonstrated that the newly introduced data structure, the Fano Binary Search Tree (FBST) can be maintained adaptively and in a self-organizing manner.
Compact Fenwick trees for dynamic ranking and selection
A number of variants are introduced which improve the classical implementation of the Fenwick tree, and can reduce its size when an upper bound on the array element is known, and perform much faster predecessor searches.
A linear time algorithm for rolling binary trees
A detailed analysis of this algorithm is presented, showing how its design contributes to a more streamlined operation and an improved time complexity over the original — and only other known to the authors — binary tree roll algorithm.
Wavelet Trees for Competitive Programming
This paper tries to fill the gap by showing how this data structure can be used in classical competitive programming problems, discussing some implementation details, and presenting a performance analysis focused in a competitive programming setting.
Compressed and Practical Data Structures for Strings
This dissertation studies the random access problem with the nger search property, that is, the time for a random access query should depend on the distance between a speci ed index f, called the ngers, and the query index i, and improves a O(logN) query bound to O( logD) for the static variant and to O-logD + log logN for the dynamic variant.
Improved Address-Calculation Coding of Integer Arrays
This paper deals with compressed integer arrays that are equipped with fast random access, using the word RAM as the model of computation to complement the address-calculation method with index structures that considerably decrease access times and also enable updates.


Word‐based text compression
The development of efficient algorithms to support arithmetic coding has meant that powerful models of text can now be used for data compression. Here the implementation of models based on
Application of splay trees to data compression
The splay-prefix algorithm is one of the simplest and fastest adaptive data compression algorithms based on the use of a prefix code and applications of these algorithms to encryption and image processing are suggested.
Linear time adaptive arithmetic coding
A data structure is described and shown to support adaptive arithmetic coding on an arbitrary-sized alphabet in time linear in the size of the inputs and outputs to be useful even on relatively small alphabets.
Arithmetic coding for data compression
The state of the art in data compression is arithmetic coding, not the better-known Huffman method. Arithmetic coding gives greater compression, is faster for adaptive models, and clearly separates
Practical dictionary/arithmetic data compression synthesis
  • MSc Thesis
  • 1992
Word-based text compression', Software—Practice and Experience
  • Word-based text compression', Software—Practice and Experience
  • 1989