English
Related papers

Related papers: Linear Time Runs over General Ordered Alphabets

200 papers

Longest common extension queries (LCE queries) and runs are ubiquitous in algorithmic stringology. Linear-time algorithms computing runs and preprocessing for constant-time LCE queries have been known for over a decade. However, these…

Data Structures and Algorithms · Computer Science 2016-06-28 Maxime Crochemore , Costas S. Iliopoulos , Tomasz Kociumaka , Ritu Kundu , Solon P. Pissis , Jakub Radoszewski , Wojciech Rytter , Tomasz Waleń

We describe a RAM algorithm computing all runs (maximal repetitions) of a given string of length $n$ over a general ordered alphabet in $O(n\log^{\frac{2}3} n)$ time and linear space. Our algorithm outperforms all known solutions working in…

Data Structures and Algorithms · Computer Science 2015-11-24 Dmitry Kosolobov

We give a new characterization of maximal repetitions (or runs) in strings based on Lyndon words. The characterization leads to a proof of what was known as the "runs" conjecture (Kolpakov \& Kucherov (FOCS '99)), which states that the…

Discrete Mathematics · Computer Science 2018-07-03 Hideo Bannai , Tomohiro I , Shunsuke Inenaga , Yuto Nakashima , Masayuki Takeda , Kazuya Tsuruta

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ń

The cornerstone of any algorithm computing all repetitions in a string of length n in O(n) time is the fact that the number of runs (or maximal repetitions) is O(n). We give a simple proof of this result. As a consequence of our approach,…

Data Structures and Algorithms · Computer Science 2008-02-21 Maxime Crochemore , Lucian Ilie

A maximal repetition, or run, in a string, is a maximal periodic substring whose smallest period is at most half the length of the substring. In this paper, we consider runs that correspond to a path on a trie, or in other words, on a…

Data Structures and Algorithms · Computer Science 2021-04-21 Ryo Sugahara , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

We present the first linear time algorithm to construct the $2n$-bit version of the Lyndon array for a string of length $n$ using only $o(n)$ bits of working space. A simpler variant of this algorithm computes the plain ($n\lg n$-bit)…

Data Structures and Algorithms · Computer Science 2019-12-11 Philip Bille , Jonas Ellert , Johannes Fischer , Inge Li Gørtz , Florian Kurpicz , Ian Munro , Eva Rotenberg

Squares (fragments of the form $xx$, for some string $x$) are arguably the most natural type of repetition in strings. The basic algorithmic question concerning squares is to check if a given string of length $n$ is square-free, that is,…

Data Structures and Algorithms · Computer Science 2023-03-14 Jonas Ellert , Paweł Gawrychowski , Garance Gourdel

Tasks that model the relation between pairs of tokens in a string are a vital part of understanding natural language. Such tasks, in general, require exhaustive pair-wise comparisons of tokens, thus having a quadratic runtime complexity in…

Computation and Language · Computer Science 2023-12-13 Tianyu Liu , Afra Amini , Mrinmaya Sachan , Ryan Cotterell

Given a string $T$ with length $n$ whose characters are drawn from an ordered alphabet of size $\sigma$, its longest Lyndon subsequence is a longest subsequence of $T$ that is a Lyndon word. We propose algorithms for finding such a…

Data Structures and Algorithms · Computer Science 2022-01-19 Hideo Bannai , Tomohiro I , Tomasz Kociumaka , Dominik Köppl , Simon J. Puglisi

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

A trie $\mathcal{T}$ is a rooted tree such that each edge is labeled by a single character from the alphabet, and the labels of out-going edges from the same node are mutually distinct. Given a trie $\mathcal{T}$ with $n$ edges, we show how…

Data Structures and Algorithms · Computer Science 2022-11-11 Takuya Mieno , Mitsuru Funakoshi , Shunsuke Inenaga

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

In this note, following suggestions by Tao, we extend the randomized algorithm for linear equations over prime fields by Raghavendra to a randomized algorithm for linear equations over the reals. We also show that the algorithm can be…

Numerical Analysis · Mathematics 2012-09-19 Joerg Fliege

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

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

A method is presented for constructing a Tunstall code that is linear time in the number of output items. This is an improvement on the state of the art for non-Bernoulli sources, including Markov sources, which require a (suboptimal)…

Information Theory · Computer Science 2009-05-08 Michael B. Baer

Suffix trees are key and efficient data structure for solving string problems. A suffix tree is a compressed trie containing all the suffixes of a given text of length $n$ with a linear construction cost. In this work, we introduce an…

Data Structures and Algorithms · Computer Science 2024-06-04 Anas Al-okaily

Described are two algorithms to find long approximate palindromes in a string, for example a DNA sequence. A simple algorithm requires O(n)-space and almost always runs in $O(k.n)$-time where n is the length of the string and k is the…

Data Structures and Algorithms · Computer Science 2007-05-23 L. Allison

We study the space requirements of a sorting algorithm where only items that at the end will be adjacent are kept together. This is equivalent to the following combinatorial problem: Consider a string of fixed length n that starts as a…

Probability · Mathematics 2007-05-23 Svante Janson
‹ Prev 1 2 3 10 Next ›