In 1990, Manber and Myers proposed suffix arrays as a space-saving alternative to suffix trees and described the first algorithms for suffix array construction and use. Since that time, and… (More)

A weak repetition in a string consists of two or more adjacent substrings which are permutations of each other. We describe a straightforward (n 2) algorithm which computes all the weak repetitions… (More)

For 30 years the Lempel–Ziv factorization LZx of a string x = x[1..n] has been a fundamental data structure of string processing, especially valuable for string compression and for computing all the… (More)

We give a space-efficient simple algorithm for computing the Lempel-Ziv factorization of a string. For a string of length n over an integer alphabet, it runs in O(n) time independently of alphabet… (More)

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… (More)

Since 1977, when Lempel and Ziv described a kind of string factorization useful for text compression, there has been a succession of algorithms proposed for computing “LZ factorization”. In… (More)

This paper discusses how to count and generate strings that are ``distinct'' in two senses: p -distinct and b -distinct. Two strings x on alphabet A and x' on alphabet A' are said to be p -distinct… (More)

The Knuth-Morris-Pratt (KMP) pattern-matching algorithm guarantees both independence from alphabet size and worst-case execution time linear in the pattern length; on the other hand, the BoyerMoore… (More)