Optimal In-Place Suffix Sorting
Zhize Li, Jian Li, Hongwei Huo
Abstract
Zhize Li, Jian Li, Hongwei Huo
Abstract
Suffix array is a fundamental data structure for many applications that involve string searching and data compression. We obtain the first linear time inplace suffix array construction algorithm which is optimal both in time and space for read-only integer alphabets. Our algorithm settles the open problem posed by Franceschini and Muthukrishnan [1]. The open problem asked to design in-place algorithms in o(n log n) time and ultimately, in O(n) time for integer alphabets with |Σ| ≤ n. Our result is in fact slightly stronger since we allow |Σ| = O(n). Besides, we extend it to obtain an optimal O(n log n) time in-place suffix sorting algorithm for read-only general alphabets (i.e., only comparisons are allowed).
OpenAlex reports 4 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Suffix array is a fundamental data structure for many applications that involve string searching and data compression. We obtain the first linear time inplace suffix array construction algorithm which is optimal both in time and space for read-only integer alphabets. Our algorithm settles the open problem posed by Franceschini and Muthukrishnan [1]. The open problem asked to design in-place algorithms in o(n log n) time and ultimately, in O(n) time for integer alphabets with |Σ| ≤ n. Our result is in fact slightly stronger since we allow |Σ| = O(n). Besides, we extend it to obtain an optimal O(n log n) time in-place suffix sorting algorithm for read-only general alphabets (i.e., only comparisons are allowed).
Key concepts: Suffix array, Compressed suffix array, Generalized suffix tree, Suffix, Sorting, Suffix tree, String (physics), Integer (computer science)