Computing covers using prefix tables

Ali Alatabbi*, M. Sohel Rahman, W. F. Smyth

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

7 Citations (Scopus)


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 languageEnglish
Publication statusAccepted/In press - 6 Jun 2015


  • Algorithm
  • Cover array
  • Covers
  • Indeterminate strings
  • Linear time
  • Prefix tables
  • Strings


Dive into the research topics of 'Computing covers using prefix tables'. Together they form a unique fingerprint.

Cite this