English
Related papers

Related papers: Linear Time Online Algorithms for Constructing Lin…

200 papers

The Cartesian-tree pattern matching is a recently introduced scheme of pattern matching that detects fragments in a sequential data stream which have a similar structure as a query pattern. Formally, Cartesian-tree pattern matching seeks…

Data Structures and Algorithms · Computer Science 2021-08-17 Akio Nishimoto , Noriki Fujisato , Yuto Nakashima , Shunsuke Inenaga

We consider a sliding window $W$ over a stream of characters from some alphabet of constant size. The user wants to perform deterministic substring matching on the current sliding window content and obtain positions of the matches. We…

Data Structures and Algorithms · Computer Science 2018-09-07 Andrej Brodnik , Matevž Jekovec

Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical DFS algorithm requires $O(m+n)$ time for a graph having $n$ vertices and $m$ edges. In the streaming model, an algorithm is…

Data Structures and Algorithms · Computer Science 2019-01-14 Shahbaz Khan , Shashank K. Mehta

We first review how we can store a run-length compressed suffix array (RLCSA) for a text $T$ of length $n$ over an alphabet of size $\sigma$ whose Burrows-Wheeler Transform (BWT) consists of $r$ runs in $O \left( \rule{0ex}{2ex} r \log (n /…

Data Structures and Algorithms · Computer Science 2025-04-22 Nathaniel K. Brown , Travis Gagie , Giovanni Manzini , Gonzalo Navarro , Marinella Sciortino

Suppose an oracle knows a string $S$ that is unknown to us and that we want to determine. The oracle can answer queries of the form "Is $s$ a substring of $S$?". In 1995, Skiena and Sundaram showed that, in the worst case, any algorithm…

Data Structures and Algorithms · Computer Science 2021-10-20 Gabriele Fici , Nicola Prezza , Rossano Venturini

The convolution between a text string $S$ of length $N$ and a pattern string $P$ of length $m$ can be computed in $O(N \log m)$ time by FFT. It is known that various types of approximate string matching problems are reducible to…

Data Structures and Algorithms · Computer Science 2013-03-19 Toshiya Tanaka , Tomohiro I , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

Given a string $T$, it is known that its suffix tree can be represented using the compact directed acyclic word graph (CDAWG) with $e_T$ arcs, taking overall $O(e_T+e_{{\overline{T}}})$ words of space, where ${\overline{T}}$ is the reverse…

Data Structures and Algorithms · Computer Science 2017-05-25 Djamal Belazzougui , Fabio Cunial

We propose a new approach for calculating the Lempel-Ziv factorization of a string, based on run length encoding (RLE). We present a conceptually simple off-line algorithm based on a variant of suffix arrays, as well as an on-line algorithm…

Data Structures and Algorithms · Computer Science 2015-03-20 Jun'ichi Yamamoto , Hideo Bannai , Shunsuke Inenaga , Masayuki Takeda

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

The weighted ancestor problem is a well-known generalization of the predecessor problem to trees. It is known to require $\Omega(\log\log n)$ time for queries provided $O(n\mathop{\mathrm{polylog}} n)$ space is available and weights are…

Data Structures and Algorithms · Computer Science 2021-04-13 Djamal Belazzougui , Dmitry Kosolobov , Simon J. Puglisi , Rajeev Raman

The suffix tree is a data structure for indexing strings. It is used in a variety of applications such as bioinformatics, time series analysis, clustering, text editing and data compression. However, when the string and the resulting suffix…

Databases · Computer Science 2011-10-03 Essam Mansour , Amin Allam , Spiros Skiadopoulos , Panos Kalnis

Longest common extension queries (often called longest common prefix queries) constitute a fundamental building block in multiple string algorithms, for example computing runs and approximate pattern matching. We show that a sequence of $q$…

Data Structures and Algorithms · Computer Science 2016-04-08 Paweł Gawrychowski , Tomasz Kociumaka , Wojciech Rytter , Tomasz Waleń

We study algorithms for solving the problem of constructing a text (long string) from a dictionary (sequence of small strings). The problem has an application in bioinformatics and has a connection with the Sequence assembly method for…

Data Structures and Algorithms · Computer Science 2020-06-01 Kamil Khadiev , Vladislav Remidovskii

We present an extension of the in-place BWT algorithm of Crochemore et al. [8] that enables the construction of the Lyndon array using O(1) extra space. Our approach incrementally maintains the lexicographic ranks of the suffixes during the…

Data Structures and Algorithms · Computer Science 2025-12-25 Felipe A. Louza , Arnaud Lefebvre

We present the first worst-case linear-time algorithm to compute the Lempel-Ziv 78 factorization of a given string over an integer alphabet. Our algorithm is based on nearest marked ancestor queries on the suffix tree of the given string.…

Data Structures and Algorithms · Computer Science 2015-02-02 Yuto Nakashima , Tomohiro I , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

Sliding suffix trees (Fiala & Greene, 1989) for an input text $T$ over an alphabet of size $\sigma$ and a sliding window $W$ of $T$ can be maintained in $O(|T| \log \sigma)$ time and $O(|W|)$ space. The two previous approaches that achieve…

Data Structures and Algorithms · Computer Science 2024-03-01 Laurentius Leonard , Shunsuke Inenaga , Hideo Bannai , Takuya Mieno

Efficient methods for storing and querying are critical for scaling high-order n-gram language models to large corpora. We propose a language model based on compressed suffix trees, a representation that is highly compact and can be easily…

Computation and Language · Computer Science 2016-08-17 Ehsan Shareghi , Matthias Petri , Gholamreza Haffari , Trevor Cohn

Error Tree is a novel tree structure that is mainly oriented to solve the approximate pattern matching problems, Hamming and edit distances, as well as the wildcards matching problem. The input is a text of length $n$ over a fixed alphabet…

Data Structures and Algorithms · Computer Science 2020-08-25 Anas Al-Okaily

A classic data structure problem is to preprocess a string T of length $n$ so that, given a query $q$, we can quickly find all substrings of T with Hamming distance at most $k$ from the query string. Variants of this problem have seen…

Data Structures and Algorithms · Computer Science 2026-04-03 Jackson Bibbens , Levi Borevitz , Samuel McCauley

In this paper, we resolve a long-standing question in self-stabilization by demonstrating that it is indeed possible to construct a spanning tree in a semi-uniform network using constant memory per node. We introduce a self-stabilizing…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-05-13 Lélia Blin , Franck Petit , Sébastien Tixeuil
‹ Prev 1 4 5 6 7 8 10 Next ›