English
Related papers

Related papers: Weighted ancestors in suffix trees

200 papers

It has been shown in the indexing literature that there is an essential difference between prefix/range searches on the one hand, and predecessor/rank searches on the other hand, in that the former provably allows faster query resolution.…

Data Structures and Algorithms · Computer Science 2018-04-16 Djamal Belazzougui , Paolo Boldi , Rasmus Pagh , Sebastiano Vigna

We present a compressed representation of tries based on top tree compression [ICALP 2013] that works on a standard, comparison-based, pointer machine model of computation and supports efficient prefix search queries. Namely, we show how to…

Data Structures and Algorithms · Computer Science 2019-09-23 Philip Bille , Inge Li Gørtz , Paweł Gawrychowski , Gad M. Landau , Oren Weimann

A suffix tree is a data structure used mainly for pattern matching. It is known that the space complexity of simple suffix trees is quadratic in the length of the string. By a slight modification of the simple suffix trees one gets the…

Combinatorics · Mathematics 2016-11-15 Bálint Vásárhelyi

We present a method for constructing taxonomic trees (e.g., WordNet) using pretrained language models. Our approach is composed of two modules, one that predicts parenthood relations and another that reconciles those predictions into trees.…

Computation and Language · Computer Science 2021-11-03 Catherine Chen , Kevin Lin , Dan Klein

Suffix trees and suffix arrays are two of the most widely used data structures for text indexing. Each uses linear space and can be constructed in linear time for polynomially sized alphabets. However, when it comes to answering queries…

Data Structures and Algorithms · Computer Science 2013-11-08 Richard Cole , Tsvi Kopelowitz , Moshe Lewenstein

We seek to perform efficient queries for the predecessor among $n$ values stored in $k$ sorted arrays. Evading the $\Omega(n \log k)$ lower bound from merging $k$ arrays, we support predecessor queries in $O(\log n)$ time after $O(n…

Data Structures and Algorithms · Computer Science 2015-07-15 Carsten Grimm

This note describes a very simple O(1) query time algorithm for finding level ancestors. This is basically a serial (re)-implementation of the parallel algorithm of Berkman and Vishkin (O.Berkman and U.Vishkin, Finding level-ancestors in…

Data Structures and Algorithms · Computer Science 2024-07-30 Sanjeev Saxena

The successor and predecessor problem consists of obtaining the closest value in a set of integers, greater/smaller than a given value. This problem has interesting applications, like the intersection of inverted lists. It can be easily…

Data Structures and Algorithms · Computer Science 2020-02-27 Adrián Gómez-Brandón

Binary jumbled pattern matching asks to preprocess a binary string $S$ in order to answer queries $(i,j)$ which ask for a substring of $S$ that is of length $i$ and has exactly $j$ 1-bits. This problem naturally generalizes to…

Data Structures and Algorithms · Computer Science 2014-07-01 Travis Gagie , Danny Hermelin , Gad M. Landau , Oren Weimann

We study the shared processor scheduling problem with a single shared processor where a unit time saving (weight) obtained by processing a job on the shared processor depends on the job. A polynomial-time optimization algorithm has been…

Discrete Mathematics · Computer Science 2021-01-19 Dariusz Dereniowski , Wieslaw Kubiak

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

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

A classic data structure problem is to preprocess a string T of length $n$ so that, given a query $q$, we can quickly find all substrings of T with Hamming distance at most $k$ from the query string. Variants of this problem have seen…

Data Structures and Algorithms · Computer Science 2026-04-03 Jackson Bibbens , Levi Borevitz , Samuel McCauley

The wavelet tree has become a very useful data structure to efficiently represent and query large volumes of data in many different domains, from bioinformatics to geographic information systems. One problem with wavelet trees is their…

Data Structures and Algorithms · Computer Science 2016-10-20 José Fuentes-Sepúlveda , Erick Elejalde , Leo Ferres , Diego Seco

We solve the dynamic Predecessor Problem with high probability (whp) in constant time, using only $n^{1+\delta}$ bits of memory, for any constant $\delta > 0$. The input keys are random wrt a wider class of the well studied and practically…

Data Structures and Algorithms · Computer Science 2011-04-25 D. Belazzougui , A. C. Kaporis , P. G. Spirakis

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

Sorting is a foundational problem in computer science that is typically employed on sequences or total orders. More recently, a more general form of sorting on partially ordered sets (or posets), where some pairs of elements are…

Data Structures and Algorithms · Computer Science 2022-06-03 Jishnu Roychoudhury , Jatin Yadav

This paper shows the weighted matching problem on general graphs can be solved in time $O(n(m + n\log n))$ for $n$ and $m$ the number of vertices and edges, respectively. This was previously known only for bipartite graphs. The crux is a…

Data Structures and Algorithms · Computer Science 2016-11-24 Harold N. Gabow

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 study the fundamental question of how efficiently suffix array entries can be accessed when the array cannot be stored explicitly. The suffix array $SA_T[1..n]$ of a text $T$ of length $n$ encodes the lexicographic order of its suffixes…

Data Structures and Algorithms · Computer Science 2025-10-23 Dominik Kempa , Tomasz Kociumaka