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 + k T , q ) space, where N − α ≤ qn is the exact number of characters decompressed by the algorithm and k T , 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 + k T , 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.
|Title of host publication||Combinatorial Pattern Matching : 24th Annual Symposium, CPM 2013, Bad Herrenalb, Germany, June 17-19, 2013. Proceedings|
|Publication status||Published - 2013|
|Event||24th Annual Symposium on Combinatorial Pattern Matching (CPM 2013) - Bad Herrenalb, Germany|
Duration: 17 Jun 2013 → 19 Jun 2013
|Conference||24th Annual Symposium on Combinatorial Pattern Matching (CPM 2013)|
|Period||17/06/2013 → 19/06/2013|
|Series||Lecture Notes in Computer Science|