English
Related papers

Related papers: Parallel Query in the Suffix Tree

200 papers

The problem of Text Indexing is a fundamental algorithmic problem in which one wishes to preprocess a text in order to quickly locate pattern queries within the text. In the ever evolving world of dynamic and on-line data, there is also a…

Data Structures and Algorithms · Computer Science 2012-08-21 Tsvi Kopelowitz

The block tree [Belazzougui et al., J. Comput. Syst. Sci. '21] is a compressed representation of a length-$n$ text that supports access, rank, and select queries while requiring only $O(z\log\frac{n}{z})$ words of space, where $z$ is the…

Data Structures and Algorithms · Computer Science 2025-12-30 Robert Clausecker , Florian Kurpicz , Etienne Palanga

Park et al. [TCS 2020] observed that the similarity between two (numerical) strings can be captured by the Cartesian trees: The Cartesian tree of a string is a binary tree recursively constructed by picking up the smallest value of the…

Data Structures and Algorithms · Computer Science 2022-04-18 Tsubasa Oizumi , Takeshi Kai , Takuya Mieno , Shunsuke Inenaga , Hiroki Arimura

We discuss how string sorting algorithms can be parallelized on modern multi-core shared memory machines. As a synthesis of the best sequential string sorting algorithms and successful parallel sorting algorithms for atomic objects, we…

Data Structures and Algorithms · Computer Science 2013-05-07 Timo Bingmann , Peter Sanders

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

Efficient construction of the suffix tree given an input text is an active area of research from the time it was first introduced. Both theoretical computer scientists and engineers tackled the problem. In this paper we focus on the fastest…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-10-03 Matevž Jekovec , Andrej Brodnik

We suggest a new non-recursive algorithm for constructing a binary search tree given an array of numbers. The algorithm has $O(N)$ time and $O(1)$ memory complexity if the given array of $N$ numbers is sorted. The resulting tree is of…

Data Structures and Algorithms · Computer Science 2022-07-20 Pavel S. Ruzankin

We consider the problem of sampling $n$ numbers from the range $\{1,\ldots,N\}$ without replacement on modern architectures. The main result is a simple divide-and-conquer scheme that makes sequential algorithms more cache efficient and…

Data Structures and Algorithms · Computer Science 2019-11-18 Peter Sanders , Sebastian Lamm , Lorenz Hübschle-Schneider , Emanuel Schrade , Carsten Dachsbacher

Concurrent data structures serve as fundamental building blocks for concurrent computing. Many concurrent counterparts have been designed for basic sequential mechanisms; however, one notable omission is a concurrent tree that supports…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-14 Gal Sela , Erez Petrank

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

This paper investigates the execution of tree-shaped task graphs using multiple processors. Each edge of such a tree represents some large data. A task can only be executed if all input and output data fit into memory, and a data can only…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-10-02 Lionel Eyraud-Dubois , Loris Marchal , Oliver Sinnen , Frédéric Vivien

We consider the problem of maintaining a collection of strings while efficiently supporting splits and concatenations on them, as well as comparing two substrings, and computing the longest common prefix between two suffixes. This problem…

Data Structures and Algorithms · Computer Science 2024-08-15 Zsuzsanna Lipták , Francesco Masillo , Gonzalo Navarro

The weighted ancestor problem is a well-known generalization of the predecessor problem to trees. It is known to require $\Omega(\log\log n)$ time for queries provided $O(n\mathop{\mathrm{polylog}} n)$ space is available and weights are…

Data Structures and Algorithms · Computer Science 2021-04-13 Djamal Belazzougui , Dmitry Kosolobov , Simon J. Puglisi , Rajeev Raman

The problem of constructing optimal factoring automata arises in the context of unification factoring for the efficient execution of logic programs. Given an ordered set of $n$ strings of length $m$, the problem is to construct a trie-like…

Data Structures and Algorithms · Computer Science 2024-04-04 Thomas Erlebach , Kleitos Papadopoulos

Dependency parsing is an important NLP task. A popular approach for dependency parsing is structured perceptron. Still, graph-based dependency parsing has the time complexity of $O(n^3)$, and it suffers from slow training. To deal with this…

Computation and Language · Computer Science 2017-03-03 Xu Sun , Shuming Ma

We revisit the fundamental problem of dictionary look-up with mismatches. Given a set (dictionary) of $d$ strings of length $m$ and an integer $k$, we must preprocess it into a data structure to answer the following queries: Given a query…

Data Structures and Algorithms · Computer Science 2018-06-27 Paweł Gawrychowski , Gad M. Landau , Tatiana Starikovskaya

We present the Cuckoo Trie, a fast, memory-efficient ordered index structure. The Cuckoo Trie is designed to have memory-level parallelism -- which a modern out-of-order processor can exploit to execute DRAM accesses in parallel -- without…

Data Structures and Algorithms · Computer Science 2022-01-25 Adar Zeitak , Adam Morrison

This paper introduces the \emph{serial-parallel decision problem}. Consider an online scheduler that receives a series of tasks, where each task has both a parallel and a serial implementation. The parallel implementation has the advantage…

Data Structures and Algorithms · Computer Science 2024-05-21 William Kuszmaul , Alek Westover

Constructing a Depth First Search (DFS) tree is a fundamental graph problem, whose parallel complexity is still not settled. Reif showed parallel intractability of lex-first DFS. In contrast, randomized parallel algorithms (and more…

Data Structures and Algorithms · Computer Science 2025-10-09 Archit Chauhan , Samir Datta , M. Praveen

We study the following substring suffix selection problem: given a substring of a string T of length n, compute its k-th lexicographically smallest suffix. This a natural generalization of the well-known question of computing the maximal…

Data Structures and Algorithms · Computer Science 2013-09-24 Maxim Babenko , Paweł Gawrychowski , Tomasz Kociumaka , Tatiana Starikovskaya