English
Related papers

Related papers: Sliding Suffix Tree using LCA

200 papers

We prove that longest common prefix (LCP) information can be stored in much less space than previously known. More precisely, we show that in the presence of the text and the suffix array, o(n) additional bits are sufficient to answer…

Data Structures and Algorithms · Computer Science 2010-02-19 Johannes Fischer

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

The Suffix Array $SA_S[1\ldots n]$ of an $n$-length string $S$ is a lexicographically sorted array of the suffixes of $S$. The suffix array is one of the most well known and widely used data structures in string algorithms. We present a…

Data Structures and Algorithms · Computer Science 2021-12-24 Amihood Amir , Itai Boneh

The weighted ancestor problem on a rooted node-weighted tree $T$ is a generalization of the classic predecessor problem: construct a data structure for a set of integers that supports fast predecessor queries. Both problems are known to…

Data Structures and Algorithms · Computer Science 2024-05-24 Philip Bille , Yakov Nekrich , Solon P. Pissis

The suffix array and the suffix tree are the two most fundamental data structures for string processing. For a length-$n$ text, however, they use $\Theta(n \log n)$ bits of space, which is often too costly. To address this, Grossi and…

Data Structures and Algorithms · Computer Science 2023-04-20 Dominik Kempa , Tomasz Kociumaka

We present a new algorithm for subsequence matching in grammar compressed strings. Given a grammar of size $n$ compressing a string of size $N$ and a pattern string of size $m$ over an alphabet of size $\sigma$, our algorithm uses…

Data Structures and Algorithms · Computer Science 2014-06-06 Philip Bille , Patrick Hagge Cording , Inge Li Gørtz

We introduce the lazy search tree data structure. The lazy search tree is a comparison-based data structure on the pointer machine that supports order-based operations such as rank, select, membership, predecessor, successor, minimum, and…

Data Structures and Algorithms · Computer Science 2020-10-20 Bryce Sandlund , Sebastian Wild

Given a text, rank and select queries return the number of occurrences of a character up to a position (rank) or the position of a character with a given rank (select). These queries have applications in, e.g., compression, computational…

Data Structures and Algorithms · Computer Science 2023-11-10 Matteo Ceregini , Florian Kurpicz , Rossano Venturini

In a recent paper we analyzed the space complexity of streaming algorithms whose goal is to decide membership of a sliding window to a fixed language. For the class of regular languages we proved a space trichotomy theorem: for every…

Formal Languages and Automata Theory · Computer Science 2018-01-08 Moses Ganardi , Danny Hucke , Daniel König , Markus Lohrey , Konstantinos Mamouras

The linear-size suffix tries (LSTries) [Crochemore et al., TCS 2016] are a version of suffix trees in which the edge labels are single characters, yet are able to perform pattern matching queries in optimal time. Instead of explicitly…

Data Structures and Algorithms · Computer Science 2024-08-09 Shunsuke Inenaga

A predecessor (successor) search finds the largest element $x^-$ smaller than the input string $x$ (the smallest element $x^+$ larger than or equal to $x$, respectively) out of a given set $S$; in this paper, we consider the static case…

Data Structures and Algorithms · Computer Science 2012-09-26 Djamal Belazzougui , Paolo Boldi , Sebastiano Vigna

This paper considers the problem of maintaining statistic aggregates over the last W elements of a data stream. First, the problem of counting the number of 1's in the last W bits of a binary stream is considered. A lower bound of…

Data Structures and Algorithms · Computer Science 2016-04-12 Ran Ben Basat , Gil Einziger , Roy Friedman , Yaron Kassner

In the last decades, the necessity to process massive amounts of textual data fueled the development of compressed text indexes: data structures efficiently answering queries on a given text while occupying space proportional to the…

Data Structures and Algorithms · Computer Science 2024-09-24 Dominik Kempa , Tomasz Kociumaka

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

Two recent lower bounds on the compressibility of repetitive sequences, $\delta \le \gamma$, have received much attention. It has been shown that a length-$n$ string $S$ over an alphabet of size $\sigma$ can be represented within the…

Data Structures and Algorithms · Computer Science 2023-11-10 Tomasz Kociumaka , Gonzalo Navarro , Francisco Olivares

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

We show that the compressed suffix array and the compressed suffix tree of a string $T$ can be built in $O(n)$ deterministic time using $O(n\log\sigma)$ bits of space, where $n$ is the string length and $\sigma$ is the alphabet size.…

Data Structures and Algorithms · Computer Science 2016-11-15 J. Ian Munro , Gonzalo Navarro , Yakov Nekrich

We consider the problem of finding repetitive structures and inherent patterns in a given string $\s{s}$ of length $n$ over a finite totally ordered alphabet. A border $\s{u}$ of a string $\s{s}$ is both a prefix and a suffix of $\s{s}$…

Data Structures and Algorithms · Computer Science 2015-06-24 Ali Alatabbi , Jacqueline W. Daykin , M. Sohel Rahman

The suffix array is a classic full-text index, combining effectiveness with simplicity. We discuss three approaches aiming to improve its efficiency even more: changes to the navigation, data layout and adding extra data. In short, we show…

Data Structures and Algorithms · Computer Science 2016-07-28 Tomasz Kowalski , Szymon Grabowski , Kimmo Fredriksson , Marcin Raniszewski

Sliding-window aggregation summarizes the most recent information in a data stream. Users specify how that summary is computed, usually as an associative binary operator because this is the most general known form for which it is possible…

Data Structures and Algorithms · Computer Science 2018-10-29 Kanat Tangwongsan , Martin Hirzel , Scott Schneider