New trie data structures which support very fast search operations
Journal of Computer and System Sciences
An Efficient Digital Search Algorithm by Using a Double-Array Structure
IEEE Transactions on Software Engineering
Improved behaviour of tries by adaptive branching
Information Processing Letters
Optimal bounds for the predecessor problem
STOC '99 Proceedings of the thirty-first annual ACM symposium on Theory of computing
PATRICIA—Practical Algorithm To Retrieve Information Coded in Alphanumeric
Journal of the ACM (JACM)
Linear Algorithm for Data Compression via String Matching
Journal of the ACM (JACM)
Communications of the ACM
Succinct Representation of Balanced Parentheses and Static Trees
SIAM Journal on Computing
Sorting and Searching on the Word RAM
STACS '98 Proceedings of the 15th Annual Symposium on Theoretical Aspects of Computer Science
Indexing text using the Ziv-Lempel trie
Journal of Discrete Algorithms - SPIRE 2002
Probabilistic behavior of asymmetric level compressed tries
Random Structures & Algorithms
Squeezing succinct data structures into entropy bounds
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
Space-efficient construction of LZ-index
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
IP-address lookup using LC-tries
IEEE Journal on Selected Areas in Communications
Space-efficient construction of Lempel-Ziv compressed text indexes
Information and Computation
Efficient LZ78 factorization of grammar compressed text
SPIRE'12 Proceedings of the 19th international conference on String Processing and Information Retrieval
Hi-index | 0.00 |
The dynamic trie is a fundamental data structure which finds applications in many areas. This paper proposes a compressed version of the dynamic trie data structure. Our data-structure is not only space efficient, it also allows pattern searching in o(|P|) time and leaf insertion/ deletion in o(log n) time, where |P| is the length of the pattern and n is the size of the trie. To demonstrate the usefulness of the new data structure, we apply it to the LZ-compression problem. For a string S of length s over an alphabet A of size σ, the previously best known algorithms for computing the Ziv-Lempel encoding (lz78) of S either run in: (1) O(s) time and O(s log s) bits working space; or (2) O(sσ) time and O(sHk + s log σ/ logσ s) bits working space, where Hk is the k- order entropy of the text. No previous algorithm runs in sublinear time. Our new data structure implies a LZ-compression algorithm which runs in sublinear time and uses optimal working space. More precisely, the LZ-compression algorithm uses O(s(log σ +log logσ s)/ logσ s) bits working space and runs in O(s(log log s)2/(logσ s log log log s)) worst-case time, which is sublinear when σ = 2o(log slog log log s/(log log s)2).