English
Related papers

Related papers: Linear pattern matching on sparse suffix trees

200 papers

The problem of dictionary matching is a classical problem in string matching: given a set S of d strings of total length n characters over an (not necessarily constant) alphabet of size sigma, build a data structure so that we can match in…

Data Structures and Algorithms · Computer Science 2015-05-18 Djamal Belazzougui

Suffix trees and suffix arrays are two of the most widely used data structures for text indexing. Each uses linear space and can be constructed in linear time for polynomially sized alphabets. However, when it comes to answering queries…

Data Structures and Algorithms · Computer Science 2013-11-08 Richard Cole , Tsvi Kopelowitz , Moshe Lewenstein

We show that the number of distinct squares in a packed string of length $n$ over an alphabet of size $\sigma$ can be computed in $O(n/\log_\sigma n)$ time in the word-RAM model. This paper is the first to introduce a sublinear-time…

Data Structures and Algorithms · Computer Science 2025-09-03 Panagiotis Charalampopoulos , Manal Mohamed , Jakub Radoszewski , Wojciech Rytter , Tomasz Waleń , Wiktor Zuba

We introduce the first index that can be built in $o(n)$ time for a text of length $n$, and can also be queried in $o(q)$ time for a pattern of length $q$. On an alphabet of size $\sigma$, our index uses $O(n\sqrt{\log n\log\sigma})$ bits,…

Data Structures and Algorithms · Computer Science 2019-07-16 J. Ian Munro , Gonzalo Navarro , Yakov Nekrich

String matching is the problem of finding all the substrings of a text which match a given pattern. It is one of the most investigated problems in computer science, mainly due to its very diverse applications in several fields. Recently,…

Data Structures and Algorithms · Computer Science 2017-07-04 Domenico Cantone , Simone Faro , Arianna Pavone

Most of the attention in statistical compression is given to the space used by the compressed sequence, a problem completely solved with optimal prefix codes. However, in many applications, the storage space used to represent the prefix…

Data Structures and Algorithms · Computer Science 2015-06-30 Travis Gagie , Gonzalo Navarro , Yakov Nekrich , Alberto Ordóñez

In this paper we describe a data structure that supports pattern matching queries on a dynamically arriving text over an alphabet ofconstant size. Each new symbol can be prepended to $T$ in O(1) worst-case time. At any moment, we can report…

Data Structures and Algorithms · Computer Science 2013-07-09 Gregory Kucherov , Yakov Nekrich

This paper is concerned with the problem of establishing an index based on word matching. It is assumed that the book was digitised as better as possible and some pre-processing techniques were already applied as line orientation correction…

Artificial Intelligence · Computer Science 2007-05-23 A. Marcolino , Vitorino Ramos , Mario Ramalho , J. R. Caldas Pinto

Text indexing is a fundamental and well-studied problem. Classic solutions either replace the original text with a compressed representation, e.g., the FM-index and its variants, or keep it uncompressed but attach some redundancy - an index…

Data Structures and Algorithms · Computer Science 2026-02-05 Lorraine A. K. Ayad , Gabriele Fici , Ragnar Groot Koerkamp , Grigorios Loukides , Rob Patro , Giulio Ermanno Pibiri , Solon P. Pissis

We consider an index data structure for similar strings. The generalized suffix tree can be a solution for this. The generalized suffix tree of two strings $A$ and $B$ is a compacted trie representing all suffixes in $A$ and $B$. It has…

Data Structures and Algorithms · Computer Science 2013-05-09 Joong Chae Na , Heejin Park , Maxime Crochemore , Jan Holub , Costas S. Iliopoulos , Laurent Mouchard , Kunsoo Park

Suffix arrays and LCP arrays are one of the most fundamental data structures widely used for various kinds of string processing. We consider two problems for a read-only string of length $N$ over an integer alphabet $[1, \dots, \sigma]$ for…

Data Structures and Algorithms · Computer Science 2019-07-16 Keisuke Goto

In the classic longest common substring (LCS) problem, we are given two strings $S$ and $T$, each of length at most $n$, over an alphabet of size $\sigma$, and we are asked to find a longest string occurring as a fragment of both $S$ and…

Data Structures and Algorithms · Computer Science 2025-11-18 Panagiotis Charalampopoulos , Tomasz Kociumaka , Jakub Radoszewski , Solon P. Pissis

Bitmap indexes must be compressed to reduce input/output costs and minimize CPU usage. To accelerate logical operations (AND, OR, XOR) over bitmaps, we use techniques based on run-length encoding (RLE), such as Word-Aligned Hybrid (WAH)…

Databases · Computer Science 2016-08-02 Daniel Lemire , Owen Kaser , Kamel Aouiche

A seed in a word is a relaxed version of a period in which the occurrences of the repeating subword may overlap. We show a linear-time algorithm computing a linear-size representation of all the seeds of a word (the number of seeds might be…

Data Structures and Algorithms · Computer Science 2019-03-15 Tomasz Kociumaka , Marcin Kubica , Jakub Radoszewski , Wojciech Rytter , Tomasz Walen

We study the design of efficient algorithms for combinatorial pattern matching. More concretely, we study algorithms for tree matching, string matching, and string matching in compressed texts.

Data Structures and Algorithms · Computer Science 2007-09-03 Philip Bille

Strings in the real world are often encoded with some level of uncertainty. In the character-level uncertainty model, an uncertain string $X$ of length $n$ on an alphabet $\Sigma$ is a sequence of $n$ probability distributions over…

Data Structures and Algorithms · Computer Science 2024-03-22 Esteban Gabory , Chang Liu , Grigorios Loukides , Solon P. Pissis , Wiktor Zuba

Given a string of length $n$ that is composed of $r$ runs of letters from the alphabet $\{0,1,\ldots,\sigma{-}1\}$ such that $2 \le \sigma \le r$, we describe a data structure that, provided $r \le n / \log^{\omega(1)} n$, stores the string…

Data Structures and Algorithms · Computer Science 2018-02-27 José Fuentes-Sepúlveda , Juha Kärkkäinen , Dmitry Kosolobov , Simon J. Puglisi

We consider document listing on string collections, that is, finding in which strings a given pattern appears. In particular, we focus on repetitive collections: a collection of size $N$ over alphabet $[1,\sigma]$ is composed of $D$ copies…

Data Structures and Algorithms · Computer Science 2018-11-15 Gonzalo Navarro

The rise of repetitive datasets has lately generated a lot of interest in compressed self-indexes based on dictionary compression, a rich and heterogeneous family that exploits text repetitions in different ways. For each such compression…

Data Structures and Algorithms · Computer Science 2020-12-17 Gonzalo Navarro , Nicola Prezza

Given a dynamic set $K$ of $k$ strings of total length $n$ whose characters are drawn from an alphabet of size $\sigma$, a keyword dictionary is a data structure built on $K$ that provides locate, prefix search, and update operations on…

Data Structures and Algorithms · Computer Science 2020-10-08 Kazuya Tsuruta , Dominik Köppl , Shunsuke Kanda , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda