Abstract
The suffix array is a classic full-text index, combining effectiveness with simplicity. We discuss three approaches aiming to improve its efficiency even more: changes to the navigation, data layout and adding extra data. In short, we show that i) the way how we search for the right interval boundary impacts significantly the overall search speed, ii) a B-tree data layout easily wins over the standard one, iii) the well-known idea of a lookup table for the prefixes of the suffixes can be refined with using compression, iv) caching prefixes of the suffixes in a helper array can pose another practical space-time tradeoff.
Keywords
MSC
68W32
Cite this article
@article{cai-4221,
author = {Tomasz M. Kowalski and Szymon Grabowski and Kimmo Fredriksson},
title = {Suffix Arrays with a Twist},
journal = {Computing and Informatics},
volume = {38},
number = {3},
pages = {555--574},
year = {2019},
issn = {1335-9150},
doi = {10.31577/cai_2019_3_555}
}
TY - JOUR AU - Tomasz M. Kowalski AU - Szymon Grabowski AU - Kimmo Fredriksson TI - Suffix Arrays with a Twist JO - Computing and Informatics VL - 38 IS - 3 SP - 555 EP - 574 PY - 2019 SN - 1335-9150 DO - 10.31577/cai_2019_3_555 UR - https://doi.org/10.31577/cai_2019_3_555 KW - Suffix array KW - data structures KW - text indexes KW - hashing ER -
Kowalski, T. M., Grabowski, S., & Fredriksson, K. (2019). Suffix Arrays with a Twist. Computing and Informatics, 38(3), 555–574. https://doi.org/10.31577/cai_2019_3_555