English
Related papers

Related papers: Computing All Distinct Squares in Linear Time for …

200 papers

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

We propose a B tree representation storing $n$ keys, each of $k$ bits, in either (a) $nk + O(nk / \lg n)$ bits or (b) $nk + O(nk \lg \lg n/ \lg n)$ bits of space supporting all B tree operations in either (a) $O(\lg n )$ time or (b) $O(\lg…

Data Structures and Algorithms · Computer Science 2021-04-20 Tomohiro I , Dominik Köppl

Based on the Breslauer-Italiano online suffix tree construction algorithm (2013) with double logarithmic worst-case guarantees on the update time per letter, we develop near-real-time algorithms for several classical problems on strings,…

Data Structures and Algorithms · Computer Science 2026-02-18 Dominik Köppl , Gregory Kucherov

The notions of synchronizing and partitioning sets are recently introduced variants of locally consistent parsings with great potential in problem-solving. In this paper we propose a deterministic algorithm that constructs for a given…

Data Structures and Algorithms · Computer Science 2024-04-23 Dmitry Kosolobov , Nikita Sivukhin

A run in a string is a maximal periodic substring. For example, the string $\texttt{bananatree}$ contains the runs $\texttt{anana} = (\texttt{an})^{3/2}$ and $\texttt{ee} = \texttt{e}^2$. There are less than $n$ runs in any length-$n$…

Data Structures and Algorithms · Computer Science 2021-02-18 Jonas Ellert , Johannes Fischer

In this article, we give a precise mathematical meaning to `linear? time' that matches experimental behaviour of the algorithm. The sorting algorithm is not our own, it is a variant of radix sort with counting sort as a subroutine. The true…

Computational Complexity · Computer Science 2019-01-01 Laurent Lyaudet

For a text given in advance, the substring minimal suffix queries ask to determine the lexicographically minimal non-empty suffix of a substring specified by the location of its occurrence in the text. We develop a data structure answering…

Data Structures and Algorithms · Computer Science 2016-02-01 Tomasz Kociumaka

We show that the compressed suffix array and the compressed suffix tree for a string of length $n$ over an integer alphabet of size $\sigma\leq n$ can both be built in $O(n)$ (randomized) time using only $O(n\log\sigma)$ bits of working…

Data Structures and Algorithms · Computer Science 2016-05-24 Djamal Belazzougui

The suffix trees are fundamental data structures for various kinds of string processing. The suffix tree of a text string $T$ of length $n$ has $O(n)$ nodes and edges, and the string label of each edge is encoded by a pair of positions in…

Data Structures and Algorithms · Computer Science 2023-12-06 Diptarama Hendrian , Takuya Takagi , Shunsuke Inenaga , Keisuke Goto , Mitsuru Funakoshi

Suffix trees are a fundamental data structure in stringology, but their space usage, though linear, is an important problem for its applications. We design and implement a new compressed suffix tree targeted to highly repetitive texts, such…

Data Structures and Algorithms · Computer Science 2019-02-12 Manuel Cáceres , Gonzalo Navarro

Covers being one of the most popular form of regularities in strings, have drawn much attention over time. In this paper, we focus on the problem of linear time inference of strings from cover arrays using the least sized alphabet possible.…

Data Structures and Algorithms · Computer Science 2011-08-30 Tanaeem M. Moosa , Sumaiya Nazeen , M. Sohel Rahman , Rezwana Reaz

We exhibit an online algorithm finding all distinct palindromes inside a given string in time $\Theta(n\log|\Sigma|)$ over an ordered alphabet and in time $\Theta(n|\Sigma|)$ over an unordered alphabet. Using a reduction from a…

Data Structures and Algorithms · Computer Science 2013-05-14 Dmitry Kosolobov , Mikhail Rubinchik , Arseny M. Shur

We present several results about position heaps, a relatively new alternative to suffix trees and suffix arrays. First, we show that, if we limit the maximum length of patterns to be sought, then we can also limit the height of the heap and…

Data Structures and Algorithms · Computer Science 2013-01-15 Travis Gagie , Wing-Kai Hon , Tsung-Han Ku

An \emph{indeterminate string} $x = x[1..n]$ on an alphabet $\Sigma$ is a sequence of nonempty subsets of $\Sigma$; $x$ is said to be \emph{regular} if every subset is of size one. A proper substring $u$ of regular $x$ is said to be a…

Data Structures and Algorithms · Computer Science 2015-03-02 Ali Alatabbi , M. Sohel Rahman , W. F. Smyth

Finding an optimal assignment between two sets of objects is a fundamental problem arising in many applications, including the matching of `bag-of-words' representations in natural language processing and computer vision. Solving the…

Machine Learning · Computer Science 2019-09-12 Nils M. Kriege , Pierre-Louis Giscard , Franka Bause , Richard C. Wilson

The suffix array, perhaps the most important data structure in modern string processing, is often augmented with the longest common prefix (LCP) array which stores the lengths of the LCPs for lexicographically adjacent suffixes of a string.…

Data Structures and Algorithms · Computer Science 2017-02-27 Juha Kärkkäinen , Marcin Piątkowski , Simon J. Puglisi

We propose efficient algorithms for enumerating maximal common subsequences (MCSs) of two strings. Efficiency of the algorithms are estimated by the preprocessing-time, space, and delay-time complexities. One algorithm prepares a…

Data Structures and Algorithms · Computer Science 2023-07-21 Miyuji Hirota , Yoshifumi Sakai

For a given graph G and integers b,f >= 0, let S be a subset of vertices of G of size b+1 such that the subgraph of G induced by S is connected and S can be separated from other vertices of G by removing f vertices. We prove that every…

Data Structures and Algorithms · Computer Science 2008-05-05 Fedor V. Fomin , Yngve Villanger

We present an improved algorithm for computing the $4$-edge-connected components of an undirected graph in linear time. The new algorithm uses only elementary data structures, and it is simple to describe and to implement in the pointer…

Data Structures and Algorithms · Computer Science 2021-08-20 Loukas Georgiadis , Giuseppe F. Italiano , Evangelos Kosinas

The online square detection problem is to detect the first occurrence of a square in a string whose characters are provided as input one at a time. Recall that a square is a string that is a concatenation of two identical strings. In this…

Data Structures and Algorithms · Computer Science 2014-11-10 Dmitry Kosolobov