Fast optimal algorithms for computing all the repeats in a string

Given a string x = x[1..n] on an alphabet of size a, and a threshold pmin = 1, we first describe a new algorithm PSY1 that, based on suffix array construction, computes all the complete nonextendible repeats in x of length p = pmin. PSY1 executes in Θ(n) time independent of alphabet size and is an o...

Full description

Bibliographic Details
Main Authors: Puglisi, Simon, Smyth, Bill, Yusufu, M.
Other Authors: Jan Holub
Format: Conference Paper
Published: PSC 2008
Online Access:http://www.stringology.org/event/2008/p15.html
http://hdl.handle.net/20.500.11937/35833
Description
Summary:Given a string x = x[1..n] on an alphabet of size a, and a threshold pmin = 1, we first describe a new algorithm PSY1 that, based on suffix array construction, computes all the complete nonextendible repeats in x of length p = pmin. PSY1 executes in Θ(n) time independent of alphabet size and is an order of magnitude faster than the two other algorithms previously proposed for this problem. Second, we describe a new fast algorithm PSY2 for computing all complete supernonextendible repeats in x that also executes in Θ(n) time independent of alphabet size, thus asymptotically faster than methods previously proposed. Both algorithms require 9n bytes of storage, including preprocessing (with a minor caveat for PSY1). We conclude with a brief discussion of applications to bioinformatics and data compression.