Average optimal string matching in packed strings

3Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In this paper we are concerned with the basic problem of string pattern matching: preprocess one or multiple fixed strings over alphabet σ so as to be able to efficiently search for all occurrences of the string(s) in a given text T of length n. In our model, we assume that text and patterns are tightly packed so that any single character occupies log σ bits and thus any sequence of k consecutive characters in the text or the pattern occupies exactly k log σ bits. We first show a data structure that requires O(m) words of space (more precisely O(mlogm) bits of space) where m is the total size of the patterns and answers to search queries in average-optimal O(n/y) time where y is the length of the shortest pattern (y = m in case of a single pattern). This first data structure, while optimal in time, still requires O(mlogm) bits of space, which might be too much considering that the patterns occupy only m log σ bits of space. We then show that our data structure can be compressed to only use O(m log σ) bits of space while achieving query time O(n(log σ m)ε /y), with ε any constant such that 0 < ε < 1. We finally show two other direct applications: average optimal pattern matching with worst-case guarantees and average optimal pattern matching with k differences. In the meantime we also show a slightly improved worst-case efficient multiple pattern matching algorithm. © 2013 Springer-Verlag.

Cite

CITATION STYLE

APA

Belazzougui, D., & Raffinot, M. (2013). Average optimal string matching in packed strings. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7878 LNCS, pp. 37–48). https://doi.org/10.1007/978-3-642-38233-8_4

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free