Compact q-gram profiling of compressed strings

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

Research output: Contribution to journalJournal articleResearchpeer-review


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
Pages (from-to)51-58
Publication statusPublished - 2014


  • q-gram profile
  • Grammar compression
  • SLP


Dive into the research topics of 'Compact q-gram profiling of compressed strings'. Together they form a unique fingerprint.

Cite this