The string B-tree
- 1 March 1999
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 46 (2) , 236-280
- https://doi.org/10.1145/301970.301973
Abstract
We introduce a new text-indexing data structure, the String B-Tree , that can be seen as a link between some traditional external-memory and string-matching data structures. In a short phrase, it is a combination of B-trees and Patricia tries for internal-node indices that is made more effective by adding extra pointers to speed up search and update operations. Consequently, the String B-Tree overcomes the theoretical limitations of inverted files, B-trees, prefix B-trees, suffix arrays, compacted tries and suffix trees. String B-trees have the same worst-case performance as B-trees but they manage unbounded-length strings and perform much more powerful search operations such as the ones supported by suffix trees. String B-trees are also effective in main memory (RAM model) because they improve the online suffix tree search on a dynamic set of strings. They also can be successfully applied to database indexing and software duplication.Keywords
This publication has 28 references indexed in Scilit:
- Dynamic Dictionary Matching in External MemoryInformation and Computation, 1998
- Efficient implementation of suffix treesSoftware: Practice and Experience, 1995
- Algorithms for parallel memory, I: Two-level memoriesAlgorithmica, 1994
- Alphabet dependence in parameterized matchingInformation Processing Letters, 1994
- TheSB-tree an index-sequential structure for high-performance sequential accessActa Informatica, 1992
- An efficient algorithm for the All Pairs Suffix-Prefix ProblemInformation Processing Letters, 1992
- On the allocation of binary trees to secondary storageBIT Numerical Mathematics, 1981
- Hysterical B-treesInformation Processing Letters, 1981
- A class of algorithms which require nonlinear time to maintain disjoint setsJournal of Computer and System Sciences, 1979
- Organization and maintenance of large ordered indexesActa Informatica, 1972