Software Practice and Experience · 1993 · 49 citations · 7 references
ComputingComputer ScienceAlgorithmsData StructuresNatural Language ProcessingData Structure AlgorithmsHash TablesCompressionPredictionTree HashingTree-based RepresentationTrie Data StructuresTrie Structures
Abstract This paper shows how trees can be stored in a very compact form, called ‘Bonsai’, using hash tables. A method is described that is suitable for large trees that grow monotonically within a predefined maximum size limit. Using it, pointers in any tree can be represented within 6 + [log 2 n ] bits per node where n is the maximum number of children a node can have. We first describe a general way of storing trees in hash tables, and then introduce the idea of compact hashing which underlies the Bonsai structure. These two techniques are combined to give a compact representation of trees, and a practical methodology is set out to permit the design of these structures. The new representation is compared with two conventional tree implementations in terms of the storage required per node. Examples of programs that must store large trees within a strict maximum size include those that operate on trie structures derived from natural language text. We describe how the Bonsai technique has been applied to the trees that arise in text compression and adaptive prediction, and include a discussion of the design parameters that work well in practice.
7
Universal classes of hash functions
J.Lawrence Carter, Mark N. Wegman · Journal of Computer and System Sciences · 1979 · 2.6K citations
The Reactive Keyboard: a predictive typing aid
John J. Darragh, Ian H. Witten, Mark James · Computer · 1990 · 178 citations
O. Amble · The Computer Journal · 1974 · 80 citations