Open AccessThis article is# Suffix-Sorting

- freely available
- re-usable

Article

# Suffix-Sorting *via *Shannon-Fano-Elias Codes

Lane Department of Computer Science and Electrical Engineering, West Virginia University, Morgantown, WV 26506-6109, USA

* Author to whom correspondence should be addressed.

Received: 23 December 2009; in revised form: 18 March 2010 / Accepted: 18 March 2010 / Published: 1 April 2010

(This article belongs to the Special Issue Data Compression)

Download PDF Full-Text [580 KB, uploaded 1 April 2010 13:53 CEST]

Abstract: Given a sequence T = t

_{0}t_{1}. . . t_{n-1}of size n = |T|, with symbols from a fixed alphabet Σ, (|Σ| ≤*n*), the suffix array provides a listing of all the suffixes of T in a lexicographic order. Given T, the suffix sorting problem is to construct its suffix array. The direct suffix sorting problem is to construct the suffix array of T directly without using the suffix tree data structure. While algorithims for linear time, linear space direct suffix sorting have been proposed, the actual constant in the linear space is still a major concern, given that the applications of suffix trees and suffix arrays (such as in whole-genome analysis) often involve huge data sets. In this work, we reduce the gap between current results and the minimal space requirement. We introduce an algorithm for the direct suffix sorting problem with worst case time complexity in*O*(*n*), requiring only $(1\frac{2}{3}n\text{}\mathrm{log}\text{}n\text{}-\text{}n\text{}\mathrm{log}\text{}|\sum |+O(1\left)\right)$ bits in memory space. This implies $5\frac{2}{3}n+O\left(1\right)$ bytes for total space requirment, (including space for both the output suffix array and the input sequence T) assuming $\text{n}\le {\text{2}}^{32},|\sum |\le 256$, and 4 bytes per integer. The basis of our algorithm is an extension of Shannon-Fano-Elias codes used in source coding and information theory. This is the first time information-theoretic methods have been used as the basis for solving the suffix sorting problem.Keywords: suffix sorting; suffix arrays; suffix tree; Shannon-Fano-Elias codes; source coding

## Article Statistics

## Citations to this Article

## Cite This Article

**MDPI and ACS Style**

Adjeroh, D.; Nan, F. Suffix-Sorting *via *Shannon-Fano-Elias Codes. *Algorithms* **2010**, *3*, 145-167.

**AMA Style**

Adjeroh D, Nan F. Suffix-Sorting *via *Shannon-Fano-Elias Codes. *Algorithms*. 2010; 3(2):145-167.

**Chicago/Turabian Style**

Adjeroh, Donald; Nan, Fei. 2010. "Suffix-Sorting *via *Shannon-Fano-Elias Codes." *Algorithms* 3, no. 2: 145-167.

*Algorithms*EISSN 1999-4893 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert