面向超大规模字符串集合的轻量级 LCP 数组构建
数据结构与算法
2016-05-16 v1
摘要
最长公共前缀数组是一种非常有利的数据结构,与后缀数组和 Burrows-Wheeler 变换相结合,可以高效地计算字符串的某些组合性质,这些性质在多种应用中非常有用,尤其是在生物学领域。如今,许多问题的输入数据是庞大的字符串集合,例如来自“下一代”DNA 测序(NGS)技术的数据。本文提出了第一个轻量级算法(称为 extLCP),用于同时计算任意长度的超大规模字符串集合的最长公共前缀数组和 Burrows-Wheeler 变换。该计算仅通过顺序扫描进行磁盘数据访问来实现,并且除输入所需的磁盘空间外,总磁盘空间使用量从不需要超过输出大小的两倍。此外,extLCP 还允许计算集合中字符串的后缀数组,而无需任何其他额外的数据结构。最后,我们在真实数据上测试了我们的算法,并将结果与另一种能够在外存中处理大规模字符串集合的工具进行了比较。
引用
@article{arxiv.1605.04098,
title = {Lightweight LCP Construction for Very Large Collections of Strings},
author = {Anthony J. Cox and Fabio Garofalo and Giovanna Rosone and Marinella Sciortino},
journal= {arXiv preprint arXiv:1605.04098},
year = {2016}
}
备注
This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/ The final version of this manuscript is in press in Journal of Discrete Algorithms