String matching with variable length gaps

Philip Bille, Inge Li Gørtz, Hjalte Wedel Vildhøj, David Kofoed Wind

Research output: Contribution to journalJournal articleResearchpeer-review

1 Downloads (Pure)


We consider string matching with variable length gaps. Given a string T and a pattern P consisting of strings separated by variable length gaps (arbitrary strings of length in a specified range), the problem is to find all ending positions of substrings in T that match P. This problem is a basic primitive in computational biology applications. Let m and n be the lengths of P and T, respectively, and let k be the number of strings in P. We present a new algorithm achieving time O(nlogk+m+α) and space O(m+A), where A is the sum of the lower bounds of the lengths of the gaps in P and α is the total number of occurrences of the strings in P within T. Compared to the previous results this bound essentially achieves the best known time and space complexities simultaneously. Consequently, our algorithm obtains the best known bounds for almost all combinations of m, n, k, A, and α. Our algorithm is surprisingly simple and straightforward to implement. We also present algorithms for finding and encoding the positions of all strings in P for every match of the pattern.
Original languageEnglish
JournalTheoretical Computer Science
Pages (from-to)25-34
Publication statusPublished - 2012


  • String matching
  • Variable length gaps
  • Algorithms


Dive into the research topics of 'String matching with variable length gaps'. Together they form a unique fingerprint.

Cite this