English
Related papers

Related papers: Lightweight LCP-Array Construction in Linear Time

200 papers

A filtration over a simplicial complex $K$ is an ordering of the simplices of $K$ such that all prefixes in the ordering are subcomplexes of $K$. Filtrations are at the core of Persistent Homology, a major tool in Topological Data Analysis.…

Computational Geometry · Computer Science 2018-02-06 Jean-Daniel Boissonnat , Karthik C. S.

We present parallel algorithms for exact and approximate pattern matching with suffix arrays, using a CREW-PRAM with $p$ processors. Given a static text of length $n$, we first show how to compute the suffix array interval of a given…

Data Structures and Algorithms · Computer Science 2016-06-09 Johannes Fischer , Dominik Köppl , Florian Kurpicz

Automatic performance tuning, or auto-tuning, accelerates high-performance codes by exploring vast spaces of code variants. However, due to the large number of possible combinations and complex constraints, constructing these search spaces…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-01 Floris-Jan Willemsen , Rob V. van Nieuwpoort , Ben van Werkhoven

Pattern matching queries on strings can be solved in linear time by Knuth-Morris-Pratt (KMP) algorithm. In 1973, Weiner introduced the suffix tree of a string [FOCS 1973] and showed that the seemingly more difficult problem of computing…

Data Structures and Algorithms · Computer Science 2024-02-27 Nicola Cotumaccio

Range Minimum Query (RMQ) is an important building brick of many compressed data structures and string matching algorithms. Although this problem is essentially solved in theory, with sophisticated data structures allowing for constant time…

Data Structures and Algorithms · Computer Science 2017-11-29 Tomasz Kowalski , Szymon Grabowski

We present a general toolbox, based on new vertex sparsifiers, for designing data structures to maintain shortest paths in dynamic graphs. In an $m$-edge graph undergoing edge insertions and deletions, our data structures give the first…

Data Structures and Algorithms · Computer Science 2023-11-14 Rasmus Kyng , Simon Meierhans , Maximilian Probst Gutenberg

The dictionary matching problem is to locate occurrences of any pattern among a set of patterns in a given text. Massive data sets abound and at the same time, there are many settings in which working space is extremely limited. We…

Data Structures and Algorithms · Computer Science 2013-01-29 Shoshana Marcus Dina Sokol

We consider a sliding window $W$ over a stream of characters from some alphabet of constant size. The user wants to perform deterministic substring matching on the current sliding window content and obtain positions of the matches. We…

Data Structures and Algorithms · Computer Science 2018-09-07 Andrej Brodnik , Matevž Jekovec

Efficient construction of checkpoints/snapshots is a critical tool for training and diagnosing deep learning models. In this paper, we propose a lossy compression scheme for checkpoint constructions (called LC-Checkpoint). LC-Checkpoint…

Machine Learning · Computer Science 2020-09-29 Yu Chen , Zhenming Liu , Bin Ren , Xin Jin

The longest common extension (LCE) of two indices in a string is the length of the longest identical substrings starting at these two indices. The LCE problem asks to preprocess a string into a compact data structure that supports fast LCE…

Data Structures and Algorithms · Computer Science 2015-07-10 Philip Bille , Pawel Gawrychowski , Inge Li Goertz , Gad M. Landau , Oren Weimann

Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as…

Data Structures and Algorithms · Computer Science 2015-09-24 Jakob Gruber

We consider the NP-hard Tree Containment problem that has important applications in phylogenetics. The problem asks if a given leaf-labeled network contains a subdivision of a given leaf-labeled tree. We develop a fast algorithm for the…

Computational Complexity · Computer Science 2017-02-22 Mathias Weller

The growing volume of graph data may exhaust the main memory. It is crucial to design a disk-based graph storage system to ingest updates and analyze graphs efficiently. However, existing dynamic graph storage systems suffer from read or…

We first describe three algorithms for computing the Lyndon array that have been suggested in the literature, but for which no structured exposition has been given. Two of these algorithms execute in quadratic time in the worst case, the…

Data Structures and Algorithms · Computer Science 2016-05-31 Frantisek Franek , A. S. M. Sohidull Islam , M. Sohel Rahman , W. F. Smyth

The Constraint Shortest Path (CSP) problem is as follows. An $n$-vertex graph is given, each edge/arc assigned two weights. Let us call them "cost" and "length" for definiteness. Finding a min-cost upper-bounded length path between a given…

Data Structures and Algorithms · Computer Science 2022-04-12 Adil Erzin , Roman Plotnikov , Ilya Ladygin

Document clustering as an unsupervised approach extensively used to navigate, filter, summarize and manage large collection of document repositories like the World Wide Web (WWW). Recently, focuses in this domain shifted from traditional…

Information Retrieval · Computer Science 2012-01-11 Muhammad Rafi , M. Maujood , M. M. Fazal , S. M. Ali

We present a near linear time algorithm for constructing hierarchical nets in finite metric spaces with constant doubling dimension. This data-structure is then applied to obtain improved algorithms for the following problems: Approximate…

Data Structures and Algorithms · Computer Science 2007-05-23 Sariel Har-Peled , Manor Mendel

Dynamic programming on path and tree decompositions of graphs is a technique that is ubiquitous in the field of parameterized and exponential-time algorithms. However, one of its drawbacks is that the space usage is exponential in the…

Computational Complexity · Computer Science 2016-05-13 Michał Pilipczuk , Marcin Wrochna

Tucker decomposition has been widely used in a variety of applications to obtain latent factors of tensor data. In these applications, a common need is to compute Tucker decomposition for a given time range. Furthermore, real-world tensor…

Data Structures and Algorithms · Computer Science 2025-01-14 Ruizhong Qiu , Jun-Gi Jang , Xiao Lin , Lihui Liu , Hanghang Tong

In this paper, we present the first study of the computational complexity of converting an automata-based text index structure, called the Compact Directed Acyclic Word Graph (CDAWG), of size $e$ for a text $T$ of length $n$ into other text…

Data Structures and Algorithms · Computer Science 2023-08-07 Hiroki Arimura , Shunsuke Inenaga , Yasuaki Kobayashi , Yuto Nakashima , Mizuki Sue