Abstract

A \itbf{cover} of a string x=x[1..n]x = x[1..n] is a proper substring uu of xx such that xx can be constructed from possibly overlapping instances of uu. A recent paper \cite{FIKPPST13} relaxes this definition --- an \itbf{enhanced cover} uu of xx is a border of xx (that is, a proper prefix that is also a suffix) that covers a {\it maximum} number of positions in xx (not necessarily all) --- and proposes efficient algorithms for the computation of enhanced covers. These algorithms depend on the prior computation of the \itbf{border array} β[1..n]β[1..n], where β[i]β[i] is the length of the longest border of x[1..i]x[1..i], 1≤i≤n1 \le i \le n. In this paper, we first show how to compute enhanced covers using instead the \itbf{prefix table}: an array π[1..n]π[1..n] such that π[i]π[i] is the length of the longest substring of xx beginning at position ii that matches a prefix of xx. Unlike the border array, the prefix table is robust: its properties hold also for \itbf{indeterminate strings} --- that is, strings defined on {\it subsets} of the alphabet ΣΣ rather than individual elements of ΣΣ. Thus, our algorithms, in addition to being faster in practice and more space-efficient than those of \cite{FIKPPST13}, allow us to easily extend the computation of enhanced covers to indeterminate strings. Both for regular and indeterminate strings, our algorithms execute in expected linear time. Along the way we establish an important theoretical result: that the expected maximum length of any border of any prefix of a regular string xx is approximately 1.64 for binary alphabets, less for larger ones.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.