English
Related papers

Related papers: Worst case efficient single and multiple string ma…

200 papers

It is well-known that checking whether a given string $w$ matches a given regular expression $r$ can be done in quadratic time $O(|w|\cdot |r|)$ and that this cannot be improved to a truly subquadratic running time of $O((|w|\cdot…

Data Structures and Algorithms · Computer Science 2025-08-21 Antoine Amarilli , Florin Manea , Tina Ringleb , Markus L. Schmid

Encoding data structures store enough information to answer the queries they are meant to support but not enough to recover their underlying datasets. In this paper we give the first encoding data structure for the challenging problem of…

Data Structures and Algorithms · Computer Science 2017-02-21 Travis Gagie , Giovanni Manzini , Rossano Venturini

We present new algorithms for the problem of multiple string matching of gapped patterns, where a gapped pattern is a sequence of strings such that there is a gap of fixed length between each two consecutive strings. The problem has…

Data Structures and Algorithms · Computer Science 2014-07-08 Emanuele Giaquinta , Kimmo Fredriksson , Szymon Grabowski , Alexandru I. Tomescu , Esko Ukkonen

Given a string $S$ of length $n$, the classic string indexing problem is to preprocess $S$ into a compact data structure that supports efficient subsequent pattern queries. In the \emph{deterministic} variant the goal is to solve the string…

Data Structures and Algorithms · Computer Science 2016-12-07 Philip Bille , Inge Li Gørtz , Frederik Rye Skjoldjensen

Motivated by the imminent growth of massive, highly redundant genomic databases, we study the problem of compressing a string database while simultaneously supporting fast random access, substring extraction and pattern matching to the…

Data Structures and Algorithms · Computer Science 2012-11-01 Travis Gagie , Paweł Gawrychowski , Christopher Hoobin , Simon J. Puglisi

The circular dictionary matching problem is an extension of the classical dictionary matching problem where every string in the dictionary is interpreted as a circular string: after reading the last character of a string, we can move back…

Data Structures and Algorithms · Computer Science 2025-04-07 Nicola Cotumaccio

We present a compressed representation of tries based on top tree compression [ICALP 2013] that works on a standard, comparison-based, pointer machine model of computation and supports efficient prefix search queries. Namely, we show how to…

Data Structures and Algorithms · Computer Science 2019-09-23 Philip Bille , Inge Li Gørtz , Paweł Gawrychowski , Gad M. Landau , Oren Weimann

The approximate string matching is a fundamental and recurrent problem that arises in most computer science fields. This problem can be defined as follows: Let $D=\{x_1,x_2,\ldots x_d\}$ be a set of $d$ words defined on an alphabet…

Data Structures and Algorithms · Computer Science 2017-01-31 Ibrahim Chegrane

We consider the predecessor problem on the ultra-wide word RAM model of computation, which extends the word RAM model with 'ultrawords' consisting of $w^2$ bits [TAMC, 2015]. The model supports arithmetic and boolean operations on…

Data Structures and Algorithms · Computer Science 2022-08-01 Philip Bille , Inge Li Gørtz , Tord Stordalen

We consider the problem of computing the Maximal Exact Matches (MEMs) of a given pattern $P[1 .. m]$ on a large repetitive text collection $T[1 .. n]$, which is represented as a (hopefully much smaller) run-length context-free grammar of…

Data Structures and Algorithms · Computer Science 2023-09-06 Gonzalo Navarro

We study distributed algorithms for string matching problem in presence of wildcard characters. Given a string T (a text), we look for all occurrences of another string P (a pattern) as a substring of string T . Each wildcard character in…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-06-08 MohammadTaghi Hajiaghayi , Hamed Saleh , Saeed Seddighin , Xiaorui Sun

Given $d$ strings over the alphabet $\{0,1,\ldots,\sigma{-}1\}$, the classical Aho--Corasick data structure allows us to find all $occ$ occurrences of the strings in any text $T$ in $O(|T| + occ)$ time using $O(m\log m)$ bits of space,…

Data Structures and Algorithms · Computer Science 2019-04-02 Dmitry Kosolobov , Nikita Sivukhin

We investigate the problem of deterministic pattern matching in multiple streams. In this model, one symbol arrives at a time and is associated with one of s streaming texts. The task at each time step is to report if there is a new match…

Data Structures and Algorithms · Computer Science 2012-04-26 Raphael Clifford , Markus Jalsenius , Ely Porat , Benjamin Sach

In a simple pattern matching problem one has a pattern $w$ and a text $t$, which are words over a finite alphabet $\Sigma$. One may ask whether $w$ occurs in $t$, and if so, where? More generally, we may have a set $P$ of patterns and a set…

Formal Languages and Automata Theory · Computer Science 2018-11-06 Janusz A. Brzozowski , Sylvie Davies , Abhishek Madan

We show that for all given $n,t,w \in \{1,2,...\}$ with $n<2^w$, an array of $n$ entries of $w$ bits each can be represented on a word RAM with a word length of $w$ bits in at most $nw+\lceil n(t/(2 w))^t\rceil$ bits of uninitialized memory…

Data Structures and Algorithms · Computer Science 2017-10-02 Torben Hagerup , Frank Kammer

The stable roommates problem can admit multiple different stable matchings. We have different criteria for deciding which one is optimal, but computing those is often NP-hard. We show that the problem of finding generous or rank-maximal…

Data Structures and Algorithms · Computer Science 2021-10-07 Sofia Simola , David Manlove

In this paper we study a variant of string pattern matching which deals with tuples of strings known as \textit{multi-track strings}. Multi-track strings are a generalisation of strings (or \textit{single-track strings}) that have primarily…

Data Structures and Algorithms · Computer Science 2019-12-02 Carl Barton , Ewan Birney , Tomas Fitzgerald

Given a pattern string $P$ of length $n$ consisting of $\delta$ distinct characters and a query string $T$ of length $m$, where the characters of $P$ and $T$ are drawn from an alphabet $\Sigma$ of size $\Delta$, the {\em exact string…

Data Structures and Algorithms · Computer Science 2015-12-14 Srikrishnan Divakaran

A pattern $\alpha$ is a string of variables and terminal letters. We say that $\alpha$ matches a word $w$, consisting only of terminal letters, if $w$ can be obtained by replacing the variables of $\alpha$ by terminal words. The matching…

Data Structures and Algorithms · Computer Science 2021-06-14 Paweł Gawrychowski , Florin Manea , Stefan Siemer

We introduce data structures answering queries concerning the occurrences of patterns from a given dictionary $\mathcal{D}$ in fragments of a given string $T$ of length $n$. The dictionary is internal in the sense that each pattern in…

Data Structures and Algorithms · Computer Science 2019-09-26 Panagiotis Charalampopoulos , Tomasz Kociumaka , Manal Mohamed , Jakub Radoszewski , Wojciech Rytter , Tomasz Waleń