English
Related papers

Related papers: Zip-Tries: Simple Dynamic Data Structures for Stri…

200 papers

Given a string $S$ over an alphabet $\Sigma$, the 'string indexing problem' is to preprocess $S$ to subsequently support efficient pattern matching queries, i.e., given a pattern string $P$ report all the occurrences of $P$ in $S$. In this…

Data Structures and Algorithms · Computer Science 2023-01-24 Philip Bille , Johannes Fischer , Inge Li Gørtz , Max Rishøj Pedersen , Tord Joakim Stordalen

The binary string matching problem consists in finding all the occurrences of a pattern in a text where both strings are built on a binary alphabet. This is an interesting problem in computer science, since binary data are omnipresent in…

Data Structures and Algorithms · Computer Science 2008-10-15 Simone Faro , Thierry Lecroq

We show that a simple algorithm for computing a matching on a graph runs in a logarithmic number of phases incurring work linear in the input size. The algorithm can be adapted to provide efficient algorithms in several models of…

Data Structures and Algorithms · Computer Science 2014-02-04 Marcel Birn , Vitaly Osipov , Peter Sanders , Christian Schulz , Nodari Sitchinava

Quantum Random Access Memory (QRAM) is a crucial architectural component for querying classical or quantum data in superposition, enabling algorithms with wide-ranging applications in quantum arithmetic, quantum chemistry, machine learning,…

Quantum Physics · Physics 2025-03-04 Shifan Xu , Alvin Lu , Yongshan Ding

A dynamic forest data structure maintains a forest (and associated data like edge weights) under edge insertions and deletions. Dynamic forests are widely used to solve online and offline graph problems. Well-known examples of dynamic…

Data Structures and Algorithms · Computer Science 2024-01-09 Benjamin Aram Berendsohn

We consider the problem of implementing a space-efficient dynamic trie, with an emphasis on good practical performance. For a trie with $n$ nodes with an alphabet of size $\sigma$, the information-theoretic lower bound is $n \log \sigma +…

Data Structures and Algorithms · Computer Science 2017-04-20 Andreas Poyias , Simon J. Puglisi , Rajeev Raman

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 generalize Karp-Rabin string matching to handle multiple patterns in $\mathcal{O}(n \log n + m)$ time and $\mathcal{O}(s)$ space, where $n$ is the length of the text and $m$ is the total length of the $s$ patterns, returning correct…

Data Structures and Algorithms · Computer Science 2015-09-11 Johannes Fischer , Travis Gagie , Paweł Gawrychowski , Tomasz Kociumaka

An initializable array is an array that supports the read and write operations for any element and the initialization of the entire array. This paper proposes a simple in-place algorithm to implement an initializable array of length $N$…

Data Structures and Algorithms · Computer Science 2022-03-31 Takashi Katoh , Keisuke Goto

Dynamic Time Warping (DTW) is a widely used similarity measure for comparing strings that encode time series data, with applications to areas including bioinformatics, signature verification, and speech recognition. The standard…

Data Structures and Algorithms · Computer Science 2022-07-05 Zoe Xi , William Kuszmaul

Scalable ordered maps must ensure that range queries, which operate over many consecutive keys, provide intuitive semantics (e.g., linearizability) without degrading the performance of concurrent insertions and removals. These goals are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-11 Matthew Rodriguez , Vitaly Aksenov , Michael Spear

Sublinear time quantum algorithms have been established for many fundamental problems on strings. This work demonstrates that new, faster quantum algorithms can be designed when the string is highly compressible. We focus on two popular and…

Data Structures and Algorithms · Computer Science 2023-02-15 Daniel Gibney , Sharma V. Thankachan

Bidirectional compression algorithms work by substituting repeated substrings by references that, unlike in the famous LZ77-scheme, can point to either direction. We present such an algorithm that is particularly suited for an external…

Data Structures and Algorithms · Computer Science 2019-12-04 Patrick Dinklage , Jonas Ellert , Johannes Fischer , Dominik Köppl , Manuel Penschuck

Log-Structured Merge (LSM) Trees provide a tiered data storage and retrieval paradigm that is attractive for write-optimized data systems. Maintaining an efficient buffer in memory and deferring updates past their initial write-time, the…

Databases · Computer Science 2018-09-11 Aron Szanto

The longest common prefix (LCP) array is a versatile auxiliary data structure in indexed string matching. It can be used to speed up searching using the suffix array (SA) and provides an implicit representation of the topology of an…

Data Structures and Algorithms · Computer Science 2016-03-09 German Tischler

Lazy search trees (Sandlund & Wild FOCS 2020, Sandlund & Zhang SODA 2022) are sorted dictionaries whose update and query performance smoothly interpolates between that of efficient priority queues and binary search trees - automatically,…

Data Structures and Algorithms · Computer Science 2025-12-17 Casper Moldrup Rysgaard , Sebastian Wild

Ordered set (and map) is one of the most used data type. In addition to standard set operations, like insert, delete and contains, it can provide set-set operations such as union, intersection, and difference. Each of these set-set…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Ilya Kokorin , Alena Martsenyuk

The classic string indexing problem is to preprocess a string S into a compact data structure that supports efficient pattern matching queries. Typical queries include existential queries (decide if the pattern occurs in S), reporting…

Data Structures and Algorithms · Computer Science 2021-02-05 Philip Bille , Inge Li Gørtz , Max Rishøj Pedersen , Teresa Anna Steiner

This paper is concerned with practical implementations of approximate string dictionaries that allow edit errors. In this problem, we have as input a dictionary $D$ of $d$ strings of total length $n$ over an alphabet of size $\sigma$. Given…

Data Structures and Algorithms · Computer Science 2014-08-26 Ibrahim Chegrane , Djamal Belazzougui

The suffix array $SA[1..n]$ of a text $T$ of length $n$ is a permutation of $\{1,\ldots,n\}$ describing the lexicographical ordering of suffixes of $T$, and it is considered to be among of the most important data structures in string…

Data Structures and Algorithms · Computer Science 2022-06-17 Dominik Kempa , Tomasz Kociumaka