Storing a Sparse Table with 0(1) Worst Case Access Time
Journal of the ACM (JACM)
A random binary tree generator
CSC '89 Proceedings of the 17th conference on ACM Annual Computer Science Conference
Bonsai: a compact representation of trees
Software—Practice & Experience
Efficient suffix trees on secondary storage
Proceedings of the seventh annual ACM-SIAM symposium on Discrete algorithms
Journal of Algorithms
An experimental study of a compressed index
Information Sciences: an International Journal - Dictionary based compression
Journal of Algorithms
Succinct representations of lcp information and improvements in the compressed suffix arrays
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Succinct indexable dictionaries with applications to encoding k-ary trees and multisets
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Succinct Representation of Balanced Parentheses and Static Trees
SIAM Journal on Computing
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Succinct ordinal trees with level-ancestor queries
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
When indexing equals compression: experiments with compressing suffix arrays and applications
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Space-efficient static trees and graphs
SFCS '89 Proceedings of the 30th Annual Symposium on Foundations of Computer Science
Succinct representations of permutations
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
EDBT '08 Proceedings of the 11th international conference on Extending database technology: Advances in database technology
Efficient memory representation of XML document trees
Information Systems
An(other) Entropy-Bounded Compressed Suffix Tree
CPM '08 Proceedings of the 19th annual symposium on Combinatorial Pattern Matching
Bit-probe lower bounds for succinct data structures
Proceedings of the forty-first annual ACM symposium on Theory of computing
k2-Trees for Compact Web Graph Representation
SPIRE '09 Proceedings of the 16th International Symposium on String Processing and Information Retrieval
Faster entropy-bounded compressed suffix trees
Theoretical Computer Science
On the size of succinct indices
ESA'07 Proceedings of the 15th annual European conference on Algorithms
Practical approaches to reduce the space requirement of lempel-ziv--based compressed text indices
Journal of Experimental Algorithmics (JEA)
Improved Compact Routing Tables for Planar Networks via Orderly Spanning Trees
SIAM Journal on Discrete Mathematics
Space-efficient construction of Lempel-Ziv compressed text indexes
Information and Computation
Theory and practice of monotone minimal perfect hashing
Journal of Experimental Algorithmics (JEA)
Space-Efficient Preprocessing Schemes for Range Minimum Queries on Static Arrays
SIAM Journal on Computing
Random generation and enumeration of bipartite permutation graphs
Journal of Discrete Algorithms
Ultra-succinct representation of ordered trees with applications
Journal of Computer and System Sciences
Optimal succinctness for range minimum queries
LATIN'10 Proceedings of the 9th Latin American conference on Theoretical Informatics
Practical compressed suffix trees
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Succinct representations of permutations and functions
Theoretical Computer Science
Dynamizing succinct tree representations
SEA'12 Proceedings of the 11th international conference on Experimental Algorithms
Compact representation of Web graphs with extended functionality
Information Systems
Hi-index | 5.23 |
We consider succinct, or highly space-efficient, representations of a (static) string consisting of n pairs of balanced parentheses, which support natural operations such as finding the matching parenthesis for a given parenthesis, or finding the pair of parentheses that most tightly enclose a given pair. This problem was considered by Jacobson [Space-efficient static trees and graphs, in: Proc. of the 30th FOCS, 1989, pp. 549-554] and Munro and Raman [Succinct representation of balanced parentheses and static trees, SIAM J. Comput. 31 (2001) 762-776] who gave O(n)-bit and 2n+o(n)-bit representations, respectively, that supported the above operations in O(1) time on the RAM model of computation. This data structure is a fundamental tool in succinct representations, and has applications in representing suffix trees, ordinal trees, planar graphs and permutations. We consider the practical performance of parenthesis representations. First, we give a new 2n+o(n)-bit representation that supports all the above operations in O(1) time. This representation is conceptually simpler, its space bound has a smaller o(n) term and it also has a simple and uniform o(n) time and space construction algorithm. We implement our data structure and a variant of Jacobson's, and evaluate their practical performance (speed and memory usage), when used in a succinct representation of trees derived from XML documents. As a baseline, we compare our representations against a widely used implementation of the standard DOM (document object model) representation of XML documents. Both succinct representations use orders of magnitude less space than DOM and tree traversal operations are usually only slightly slower than in DOM.