Back to results

Universität Bielefeld

Suffix arrays in theory and practice

Abstract

dc:description.abstract

The suffix array of a string is a permutation of all starting positions of the string's suffixes in lexicographical order. In this thesis, we investigate mathematical and algorithmical aspects of suffix arrays. The first part mainly deals with combinatorial properties of suffix arrays and their enumeration. For a fixed alphabet size and string length, we divide the set of all strings into equivalence classes of strings that share the same suffix array. For each such equivalence class, we count the number of strings contained in it and enumerate those strings. We also give exact formulas for computing the number of equivalence classes and efficient algorithms for enumerating them. Alternatively, we count the number of suffix arrays and enumerate them. Our methods yield lower bounds for the compressibility of suffix arrays and build the foundation for the efficient generation of appropriate test data sets for suffix-array-based algorithms. We also show that summing up the elements of all equivalence classes forms a particular instance for some summation identities of Eulerian numbers. The second part of the thesis deals with suffix array construction. We first present a new classification of suffix array construction algorithms and provide an in-depth review of the classified algorithms. We classify the algorithms regarding two different categories: the progress in the suffix sorting process and the usage of dependencies among suffixes. After the survey of the previous algorithms, we present our new practical algorithm for suffix array construction that consists of two easy-to-implement components. It first sorts the suffixes with respect to a fixed length prefix; then it refines each bucket of suffixes sharing the same prefix using the order of already sorted suffixes. Other suffix array construction algorithms follow more complex strategies. We achieve a very fast construction for common strings as well as for worst-case strings by enhancing our algorithm with further techniques; this is shown by an in-depth experimental study that compares our algorithm to other fast suffix array construction algorithms.

Degree

thesis:*
Level thesis:degree_level
thesis.doctoral
Grantor dc:publisher
Universität Bielefeld
Year
2007

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Schürmann, Klaus-Bernd

Identifiers

dc:identifier.*
Repository record source_url
https://pub.uni-bielefeld.de/record/2303359
OAI identifier oai:identifier
oai:pub.uni-bielefeld.de:2303359

Chain of custody

source
Harvested from
Universität Bielefeld
Base URL
pub.uni-bielefeld.de/oai
Last updated
2026-07-27
Source record
OAI-PMH GetRecord
citation

Schürmann, Klaus-Bernd. Suffix arrays in theory and practice. thesis.doctoral thesis, Universität Bielefeld, 2007. https://pub.uni-bielefeld.de/record/2303359