Abstract
An indeterminate string x=x[1..n] on an alphabet σ is a sequence of nonempty subsets of σ; x is said to be regular if every subset is of size one. A proper substring u of regular x is said to be a cover of x iff for every i∈1..n, an occurrence of u in x includes x[i]. The cover array γ=γ[1..n] of x is an integer array such that γ[i] is the longest cover of x[1..i]. Fifteen years ago a complex, though nevertheless linear-time, algorithm was proposed to compute the cover array of regular x based on prior computation of the border array of x. In this paper we first describe a linear-time algorithm to compute the cover array of regular x based on the prefix table of x. We then extend this result to indeterminate strings.
Original language | English |
---|---|
Journal | DISCRETE APPLIED MATHEMATICS |
DOIs | |
Publication status | Accepted/In press - 6 Jun 2015 |
Keywords
- Algorithm
- Cover array
- Covers
- Indeterminate strings
- Linear time
- Prefix tables
- Strings