Compressed dynamic tries with applications to LZ-compression in sublinear time and space

  • Authors:
  • Jesper Jansson;Kunihiko Sadakane;Wing-Kin Sung

  • Affiliations:
  • Department of Computer Science and Communication Engineering, Kyushu University, Fukuoka, Japan;Department of Computer Science and Communication Engineering, Kyushu University, Fukuoka, Japan;Department of Computer Science, National University of Singapore, Singapore and Genome Institute of Singapore, Genome, Singapore

  • Venue:
  • FSTTCS'07 Proceedings of the 27th international conference on Foundations of software technology and theoretical computer science
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

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).