English
Related papers

Related papers: Fast Algorithms for Exact String Matching

200 papers

Cartesian tree matching is the problem of finding all substrings of a given text which have the same Cartesian trees as that of a given pattern. So far there is one linear-time solution for Cartesian tree matching, which is based on the KMP…

Data Structures and Algorithms · Computer Science 2019-08-15 Siwoo Song , Cheol Ryu , Simone Faro , Thierry Lecroq , Kunsoo Park

Exact string matching has been a fundamental problem in computer science for decades because of many practical applications. Some are related to common procedures, such as searching in files and text editors, or, more recently, to more…

Data Structures and Algorithms · Computer Science 2019-07-29 Konstantinos F. Xylogiannopoulos

We study algorithms for approximating pairwise similarity matrices that arise in natural language processing. Generally, computing a similarity matrix for $n$ data points requires $\Omega(n^2)$ similarity computations. This quadratic…

Machine Learning · Computer Science 2022-04-28 Archan Ray , Nicholas Monath , Andrew McCallum , Cameron Musco

In this paper we further investigate the well-studied problem of finding a perfect matching in a regular bipartite graph. The first non-trivial algorithm, with running time $O(mn)$, dates back to K\"{o}nig's work in 1916 (here $m=nd$ is the…

Data Structures and Algorithms · Computer Science 2008-11-18 Ashish Goel , Michael Kapralov , Sanjeev Khanna

We study the fundamental problem of finding the best string to represent a given set, in the form of the Closest String problem: Given a set $X \subseteq \Sigma^d$ of $n$ strings, find the string $x^*$ minimizing the radius of the smallest…

Computational Complexity · Computer Science 2023-05-30 Amir Abboud , Nick Fischer , Elazar Goldenberg , Karthik C. S. , Ron Safier

Pattern matching can be used to calculate the support of patterns, and is a key issue in sequential pattern mining (or sequence pattern mining). Nonoverlapping pattern matching means that two occurrences cannot use the same character in the…

Databases · Computer Science 2022-09-08 Youxi Wu , Bojing Jian , Yan Li , He Jiang , Xindong Wu

Merging $T$ sorted, non-redundant lists containing $M$ elements into a single sorted, non-redundant result of size $N \ge M/T$ is a classic problem typically solved practically in $O(M \log T)$ time with a priority-queue data structure the…

Data Structures and Algorithms · Computer Science 2022-08-22 Gene Myers

The longest common subsequence (LCS) is a fundamental problem in string processing which has numerous algorithmic studies, extensions, and applications. A sequence $u_1, \ldots, u_f$ of $f$ strings s said to be an ($f$-)segmentation of a…

Data Structures and Algorithms · Computer Science 2025-02-27 Yuki Yonemoto , Takuya Mieno , Shunsuke Inenaga , Ryo Yoshinaka , Ayumi Shinohara

Approximate dictionary matching is a classic string matching problem (checking if a query string occurs in a collection of strings) with applications in, e.g., spellchecking, online catalogs, geolocation, and web searchers. We present a…

Data Structures and Algorithms · Computer Science 2016-02-15 Aleksander Cisłak , Szymon Grabowski

We consider the problem of indexing a string $t$ of length $n$ to report the occurrences of a query pattern $p$ containing $m$ characters and $j$ wildcards. Let $occ$ be the number of occurrences of $p$ in $t$, and $\sigma$ the size of the…

Data Structures and Algorithms · Computer Science 2012-09-07 Philip Bille , Inge Li Goertz , Hjalte Wedel Vildhøj , Søren Vind

We study the problem of finding maximal exact matches (MEMs) between a query string $Q$ and a labeled graph $G$. MEMs are an important class of seeds, often used in seed-chain-extend type of practical alignment methods because of their…

Data Structures and Algorithms · Computer Science 2023-07-04 Nicola Rizzo , Manuel Cáceres , Veli Mäkinen

In this paper we describe compressed indexes that support pattern matching queries for strings with wildcards. For a constant size alphabet our data structure uses $O(n\log^{\varepsilon}n)$ bits for any $\varepsilon>0$ and reports all…

Data Structures and Algorithms · Computer Science 2014-01-06 Moshe Lewenstein , Yakov Nekrich , Jeffrey Scott Vitter

We study regular expression membership testing: Given a regular expression of size $m$ and a string of size $n$, decide whether the string is in the language described by the regular expression. Its classic $O(nm)$ algorithm is one of the…

Data Structures and Algorithms · Computer Science 2016-11-08 Karl Bringmann , Allan Grønlund , Kasper Green Larsen

In this paper we investigate the \emph{approximate string matching problem} when the allowed edit operations are \emph{non-overlapping unbalanced translocations of adjacent factors}. Such kind of edit operations take place when two adjacent…

Data Structures and Algorithms · Computer Science 2021-01-05 Domenico Cantone , Simone Faro , Arianna Pavone

An elastic-degenerate (ED) string $T$ is a sequence of $n$ sets $T[1],\ldots,T[n]$ containing $m$ strings in total whose cumulative length is $N$. We call $n$, $m$, and $N$ the length, the cardinality and the size of $T$, respectively. The…

Data Structures and Algorithms · Computer Science 2024-11-13 Esteban Gabory , Moses Njagi Mwaniki , Nadia Pisanti , Solon P. Pissis , Jakub Radoszewski , Michelle Sweering , Wiktor Zuba

Frequent pattern mining is a flagship problem in data mining. In its most basic form, it asks for the set of substrings of a given string $S$ of length $n$ that occur at least $\tau$ times in $S$, for some integer $\tau\in[1,n]$. We…

Data Structures and Algorithms · Computer Science 2025-06-06 Pengxin Bian , Panagiotis Charalampopoulos , Lorraine A. K. Ayad , Manal Mohamed , Solon P. Pissis , Grigorios Loukides

In this work, we revisit the fundamental and well-studied problem of approximate pattern matching under edit distance. Given an integer $k$, a pattern $P$ of length $m$, and a text $T$ of length $n \ge m$, the task is to find substrings of…

Data Structures and Algorithms · Computer Science 2021-06-14 Tomasz Kociumaka , Ely Porat , Tatiana Starikovskaya

In this paper we revisit the classical regular expression matching problem, namely, given a regular expression $R$ and a string $Q$, decide if $Q$ matches one of the strings specified by $R$. Let $m$ and $n$ be the length of $R$ and $Q$,…

Data Structures and Algorithms · Computer Science 2007-05-23 Philip Bille

Given a string $P$ of length $m$, a longer string $T$ of length $n>m$, and two integers $l\geq 0$ and $r\geq 0$, the context of $P$ in $T$ is the set of all string pairs $(L,R)$, with $|L|=l$ and $|R|=r$, such that the string $LPR$ occurs…

Data Structures and Algorithms · Computer Science 2025-06-24 Ling Li , Daniel Gibney , Sharma V. Thankachan , Solon P. Pissis , Grigorios Loukides

We consider the problem of dictionary matching in a stream. Given a set of strings, known as a dictionary, and a stream of characters arriving one at a time, the task is to report each time some string in our dictionary occurs in the…

Data Structures and Algorithms · Computer Science 2015-04-24 Raphael Clifford , Allyx Fontaine , Ely Porat , Benjamin Sach , Tatiana Starikovskaya