Compact q-gram profiling of compressed strings

Philip Bille, Patrick Hagge Cording, Inge Li Gørtz

Research output: Contribution to journalJournal articleResearchpeer-review

Abstract

We consider the problem of computing the q-gram profile of a string T of size N compressed by a context-free grammar with n production rules. We present an algorithm that runs in O(N−α) expected time and uses O(n+q+kT,q) space, where N−α≤qnN−α≤qn is the exact number of characters decompressed by the algorithm and kT,q≤N−α is the number of distinct q-grams in T . This simultaneously matches the current best known time bound and improves the best known space bound. Our space bound is asymptotically optimal in the sense that any algorithm storing the grammar and the q-gram profile must use Ω(n+q+kT,q) space. To achieve this we introduce the q-gram graph that space-efficiently captures the structure of a string with respect to its q-grams, and show how to construct it from a grammar.
Original languageEnglish
JournalTheoretical Computer Science
Volume550
Pages (from-to)51-58
ISSN0304-3975
DOIs
Publication statusPublished - 2014

Keywords

  • q-gram profile
  • Grammar compression
  • SLP

Cite this