English
Related papers

Related papers: Linear Time Runs over General Ordered Alphabets

200 papers

We present the first $\mathrm{o}(n)$-space polynomial-time algorithm for computing the length of a longest common subsequence. Given two strings of length $n$, the algorithm runs in $\mathrm{O}(n^{3})$ time with $\mathrm{O}\left(\frac{n…

Data Structures and Algorithms · Computer Science 2020-09-21 Masashi Kiyomi , Takashi Horiyama , Yota Otachi

We assume the permutation $\pi$ is given by an $n$-element array in which the $i$-th element denotes the value $\pi(i)$. Constructing its inverse in-place (i.e. using $O(\log{n})$ bits of additional memory) can be achieved in linear time…

Data Structures and Algorithms · Computer Science 2020-04-22 Grzegorz Guśpiel

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

The Longest Common Subsequence (LCS) is a fundamental string similarity measure, and computing the LCS of two strings is a classic algorithms question. A textbook dynamic programming algorithm gives an exact algorithm in quadratic time, and…

Data Structures and Algorithms · Computer Science 2023-02-13 Xiaoyu He , Ray Li

An orientable sequence of order $n$ is a cyclic binary sequence such that each length-$n$ substring appears at most once \emph{in either direction}. Maximal length orientable sequences are known only for $n\leq 7$, and a trivial upper bound…

Data Structures and Algorithms · Computer Science 2024-05-27 Daniel Gabric , Joe Sawada

In the past thirty years, numerous algorithms for building the suffix array of a string have been proposed. In 2021, the notion of suffix array was extended from strings to DFAs, and it was shown that the resulting data structure can be…

Data Structures and Algorithms · Computer Science 2023-10-10 Nicola Cotumaccio

We consider the classic problem of computing the Longest Common Subsequence (LCS) of two strings of length $n$. While a simple quadratic algorithm has been known for the problem for more than 40 years, no faster algorithm has been found…

Data Structures and Algorithms · Computer Science 2021-06-16 Karl Bringmann , Vincent Cohen-Addad , Debarati Das

Suppose we want to seek the longest common subsequences (LCSs) of two strings as informative patterns that explain the relationship between the strings. The dynamic programming algorithm gives us a table from which all LCSs can be extracted…

Data Structures and Algorithms · Computer Science 2025-05-23 Yoshifumi Sakai

We present linear time {\it in-place} algorithms for several basic and fundamental graph problems including the well-known graph search methods (like depth-first search, breadth-first search, maximum cardinality search), connectivity…

Data Structures and Algorithms · Computer Science 2019-07-24 Sankardeep Chakraborty , Kunihiko Sadakane , Srinivasa Rao Satti

Chaining algorithms aim to form a semi-global alignment of two sequences based on a set of anchoring local alignments as input. Depending on the optimization criteria and the exact definition of a chain, there are several $O(n \log n)$ time…

Data Structures and Algorithms · Computer Science 2020-04-27 Veli Mäkinen , Kristoffer Sahlin

In this paper we consider the problem of computing the longest common abelian factor (LCAF) between two given strings. We present a simple $O(\sigma~ n^2)$ time algorithm, where $n$ is the length of the strings and $\sigma$ is the alphabet…

Data Structures and Algorithms · Computer Science 2015-03-03 Ali Alatabbi , Costas S. Iliopoulos , Alessio Langiu , M. Sohel Rahman

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

Important papers have appeared recently on the problem of indexing binary strings for jumbled pattern matching, and further lowering the time bounds in terms of the input size would now be a breakthrough with broad implications. We can…

Data Structures and Algorithms · Computer Science 2017-02-15 Luís Cunha , Simone Dantas , Travis Gagie , Roland Wittler , Luis Kowada , Jens Stoye

The work takes another look at the number of runs that a string might contain and provides an alternative proof for the bound. We also propose another stronger conjecture that states that, for a fixed order on the alphabet, within every…

Discrete Mathematics · Computer Science 2015-12-24 Maxime Crochemore , Robert Mercas

In this article, we give a precise mathematical meaning to `linear? time' that matches experimental behaviour of the algorithm. The sorting algorithm is not our own, it is a variant of radix sort with counting sort as a subroutine. The true…

Computational Complexity · Computer Science 2019-01-01 Laurent Lyaudet

The Cover Suffix Tree (CST) of a string $T$ is the suffix tree of $T$ with additional explicit nodes corresponding to halves of square substrings of $T$. In the CST an explicit node corresponding to a substring $C$ of $T$ is annotated with…

Data Structures and Algorithms · Computer Science 2023-08-09 Jakub Radoszewski

Permutation patterns and pattern avoidance have been intensively studied in combinatorics and computer science, going back at least to the seminal work of Knuth on stack-sorting (1968). Perhaps the most natural algorithmic question in this…

Data Structures and Algorithms · Computer Science 2019-04-17 László Kozma

The Lyndon array stores, at each position of a word, the length of the longest maximal Lyndon subword starting at that position, and plays an important role in combinatorics on words, for example in the construction of fundamental data…

Data Structures and Algorithms · Computer Science 2026-03-19 Pietro Negri , Manuel Sica , Rocco Zaccagnino , Rosalba Zizza

We show how to solve a number of problems in numerical linear algebra, such as least squares regression, $\ell_p$-regression for any $p \geq 1$, low rank approximation, and kernel regression, in time $T(A) \poly(\log(nd))$, where for a…

Machine Learning · Computer Science 2019-12-13 Xiaofei Shi , David P. Woodruff

Permutation patterns and pattern avoidance have been intensively studied in combinatorics and computer science, going back at least to the seminal work of Knuth on stack-sorting (1968). Perhaps the most natural algorithmic question in this…

Data Structures and Algorithms · Computer Science 2019-08-14 Benjamin Aram Berendsohn , László Kozma , Dániel Marx