English
Related papers

Related papers: Managing Unbounded-Length Keys in Comparison-Drive…

200 papers

An optimal binary search tree for an access sequence on elements is a static tree that minimizes the total search cost. Constructing perfectly optimal binary search trees is expensive so the most efficient algorithms construct almost…

Data Structures and Algorithms · Computer Science 2018-06-28 Mordecai Golin , John Iacono , Stefan Langerman , J. Ian Munro , Yakov Nekrich

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

We show how to build several data structures of central importance to string processing, taking as input the Burrows-Wheeler transform (BWT) and using small extra working space. Let $n$ be the text length and $\sigma$ be the alphabet size.…

Data Structures and Algorithms · Computer Science 2019-08-14 Nicola Prezza , Giovanna Rosone

Indexing highly repetitive texts - such as genomic databases, software repositories and versioned text collections - has become an important problem since the turn of the millennium. A relevant compressibility measure for repetitive texts…

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

We introduce a new metric of match, called Cartesian tree matching, which means that two strings match if they have the same Cartesian trees. Based on Cartesian tree matching, we define single pattern matching for a text of length n and a…

Data Structures and Algorithms · Computer Science 2019-05-23 Sung Gwan Park , Amihood Amir , Gad M. Landau , Kunsoo Park

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

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

We consider a range of simply stated dynamic data structure problems on strings. An update changes one symbol in the input and a query asks us to compute some function of the pattern of length $m$ and a substring of a longer text. We give…

Data Structures and Algorithms · Computer Science 2018-02-20 Raphael Clifford , Allan Grønlund , Kasper Green Larsen , Tatiana Starikovskaya

We show fast deterministic algorithms for fundamental problems on forests in the challenging low-space regime of the well-known Massive Parallel Computation (MPC) model. A recent breakthrough result by Coy and Czumaj [STOC'22] shows that,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-08 Alkida Balliu , Rustam Latypov , Yannic Maus , Dennis Olivetti , Jara Uitto

Let $\mathcal{D}$ be a collection of $D$ documents, which are strings over an alphabet of size $\sigma$, of total length $n$. We describe a data structure that uses linear space and and reports $k$ most relevant documents that contain a…

Data Structures and Algorithms · Computer Science 2013-08-02 Gonzalo Navarro , Yakov Nekrich

Document listing on string collections is the task of finding all documents where a pattern appears. It is regarded as the most fundamental document retrieval problem, and is useful in various applications. Many of the fastest-growing…

Data Structures and Algorithms · Computer Science 2019-02-21 Dustin Cobas , Gonzalo Navarro

We consider the problems of computing maximal palindromes and distinct palindromes in a trie. A trie is a natural generalization of a string, which can be seen as a single-path tree. There is a linear-time offline algorithm to compute…

Data Structures and Algorithms · Computer Science 2026-01-26 Hiroki Shibata , Mitsuru Funakoshi , Takuya Mieno , Masakazu Ishihata , Yuto Nakashima , Shunsuke Inenaga , Hideo Bannai , Masayuki Takeda

Although real-world text datasets, such as DNA sequences, are far from being uniformly random, average-case string searching algorithms perform significantly better than worst-case ones in most applications of interest. In this paper, we…

Data Structures and Algorithms · Computer Science 2018-01-16 Lorraine A. K. Ayad , Panagiotis Charalampopoulos , Costas S. Iliopoulos , Solon P. Pissis

A suffix tree is able to efficiently locate a pattern in an indexed string, but not in general the most recent copy of the pattern in an online stream, which is desirable in some applications. We study the most general version of the…

Data Structures and Algorithms · Computer Science 2014-07-15 N. Jesper Larsson

We show how to construct a dynamic ordered dictionary, supporting insert/delete/rank/select on a set of $n$ elements from a universe of size $U$, that achieves the optimal amortized expected time complexity of $O(1 + \log n / \log \log U)$,…

Data Structures and Algorithms · Computer Science 2025-10-23 William Kuszmaul , Jingxun Liang , Renfei Zhou

In this paper, we have developed a fully-dynamic algorithm for maintaining cardinality of maximum-matching in a tree using the construction of top-trees. The time complexities are as follows: 1. Initialization Time: $O(n(log(n)))$ to build…

Data Structures and Algorithms · Computer Science 2009-01-20 Manoj Gupta , Ankit Sharma

Learned indexes leverage machine learning models to accelerate query answering in databases, showing impressive practical performance. However, theoretical understanding of these methods remains incomplete. Existing research suggests that…

Databases · Computer Science 2024-10-23 Luis Croquevielle , Guang Yang , Liang Liang , Ali Hadian , Thomas Heinis

We introduce a new family of compressed data structures to efficiently store and query large string dictionaries in main memory. Our main technique is a combination of hierarchical Front-coding with ideas from longest-common-prefix…

Data Structures and Algorithms · Computer Science 2019-11-20 Nieves R. Brisaboa , Ana Cerdeira-Pena , Guillermo de Bernardo , Gonzalo Navarro

Given two strings $T$ and $S$ and a set of strings $P$, for each string $p \in P$, consider the unique substrings of $T$ that have $p$ as their prefix and $S$ as their suffix. Two problems then come to mind; the first problem being the…

Data Structures and Algorithms · Computer Science 2022-04-19 Laurentius Leonard , Ken Tanaka

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