61 research outputs found
How many double squares can a string contain?
Counting the types of squares rather than their occurrences, we consider the
problem of bounding the number of distinct squares in a string. Fraenkel and
Simpson showed in 1998 that a string of length n contains at most 2n distinct
squares. Ilie presented in 2007 an asymptotic upper bound of 2n - Theta(log n).
We show that a string of length n contains at most 5n/3 distinct squares. This
new upper bound is obtained by investigating the combinatorial structure of
double squares and showing that a string of length n contains at most 2n/3
double squares. In addition, the established structural properties provide a
novel proof of Fraenkel and Simpson's result.Comment: 29 pages, 20 figure
Algorithms to Compute the Lyndon Array
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 third achieves linear time, but at the expense of prior computation
of both the suffix array and the inverse suffix array of x. We then go on to
describe two variants of a new algorithm that avoids prior computation of
global data structures and executes in worst-case n log n time. Experimental
evidence suggests that all but one of these five algorithms require only linear
execution time in practice, with the two new algorithms faster by a small
factor. We conjecture that there exists a fast and worst-case linear-time
algorithm to compute the Lyndon array that is also elementary (making no use of
global data structures such as the suffix array)
Bannai et al. method proves the d-step conjecture for strings
International audienc
- …