Constructing Compressed Suffix Arrays with Large Alphabets
Constructing Compressed Suffix Arrays with Large Alphabets
复制标题
DOI:
10.1007/978-3-540-24587-2_26
复制
发表时间:
2003-12
期刊:
影响因子:
--
通讯作者:
W. Hon;T. Lam;K. Sadakane;W. Sung
中科院分区:
文献类型:
--
作者:
W. Hon;T. Lam;K. Sadakane;W. Sung
Recent research in compressing suffix arrays has resulted in two breakthrough indexing data structures, namely, compressed suffix arrays (CSA) [7] and FM-index [5]. Either of them makes it feasible to store a full-text index in the main memory even for a piece of text data with a few billion characters (such as human DNA). However, constructing such indexing data structures with limited working memory (i.e., without constructing suffix arrays) is not a trivial task. This paper addresses this problem. Currently, only CSA admits a space-efficient construction algorithm [15]. For a textTof lengthnover an alphabet Σ, this algorithm requiresO(|Σ|nlogn) time and (2H0+ 1+ε)nbits of working space, whereH0is the 0-th order empirical entropy ofTandεis any non-zero constant. This algorithm is good enough when the alphabet size | Σ| is small. It is not practical for text data containing protein, Chinese or Japanese, where the alphabet may include up to a few thousand characters.The main contribution of this paper is a new algorithm which can construct CSA inO(nlogn) time using (H0+ 2+ε)nbits of working space. Note that the running time of our algorithm is independent of the alphabet size and the space requirement is smaller as it is likely thatH0> 1. This paper also makes contribution to the space-efficient construction of FM-index. We show that FM-index can indeed be constructed from CSA directly inO(n) time.