Computing the Cover Array in Linear Time

Computing the Cover Array in Linear Time

0.00 Avg rating0 Votes
Article ID: iaor20121078
Volume: 32
Issue: 1
Start Page Number: 95
End Page Number: 106
Publication Date: Jan 2002
Journal: Algorithmica
Authors: ,
Keywords: sets
Abstract:

Let x denote a given nonempty string of length n = |x| . A proper substring u of x is a proper cover of x if and only if every position of x lies within an occurrence of u within x . This paper introduces an array γ = γ[1…n] called the cover array in which each element γ[i] , 1 ≤ i ≤ n , is the length of the longest proper cover of x[1…i] or zero if no such cover exists. In fact it turns out that γ describes all the covers of every prefix of x . Several interesting properties of γ are established, and a simple algorithm is presented that computes γ on‐line in Θ(n) time using Θ(n) additional space. Thus the new algorithm computes for all prefixes of x information that previous cover algorithms could compute only for x itself, and does so with no increase in space or time complexity.

Reviews

Required fields are marked *. Your email address will not be published.