Near-Optimal Computation of Runs over General Alphabet via Non-Crossing LCE Queries
M. Crochemore,
C. S. Iliopoulos,
T. Kociumaka,
R. Kundu,
S. P. Pissis,
J. Radoszewski,
W. Rytter,
T. Waleń
September, 2016
Abstract
Longest common extension queries (LCE queries) and runs are ubiquitous in algorithmic stringology. Linear-time algorithms computing runs and preprocessing for constant-time LCE queries have been known for over a decade. However, these algorithms assume a linearly-sortable integer alphabet. A recent breakthrough paper by Bannai et al. (SODA 2015) showed a link between the two notions: all the runs in a string can be computed via a linear number of LCE queries. The first to consider these problems over a general ordered alphabet was Kosolobov (Inf. Process. Lett., 2016), who presented an -time algorithm for answering LCE queries. This result was improved by Gawrychowski et al. (CPM 2016) to time. In this work we note a special non-crossing property of LCE queries asked in the runs computation. We show that any n such non-crossing queries can be answered on-line in time, where is the inverse Ackermann function, which yields an -time algorithm for computing runs.
Publication
SPIRE pp:22-34