轻型LCP结构,适用于非常大的琴弦集合
Lightweight LCP Construction for Very Large Collections of Strings
摘要:
最长公共前缀数组是一种非常有利的数据结构,它与后缀数组和Burrows-Wheeler变换相结合,可以有效地计算字符串的一些组合属性,这些属性在一些应用中非常有用,特别是在生物学背景下。如今,许多问题的输入数据是字符串的大集合,例如来自“下一代”DNA测序(NGS)技术的数据。在本文中,我们提出了第一个轻量级的算法(称为extLCP)的同时计算的最长的公共前缀数组和Burrows-Wheeler变换的一个非常大的收集字符串具有任何长度。该计算通过仅经由顺序扫描执行磁盘数据访问来实现,并且总的磁盘空间使用不需要超过输出大小的两倍,不包括输入所需的磁盘空间。此外,extLCP还允许计算集合的字符串的后缀数组,而不需要任何其他进一步的数据结构。最后,我们在真实数据上测试我们的算法,并将我们的结果与另一种能够在外部存储器中处理大量字符串的工具进行比较。
英文摘要:
The longest common prefix array is a very advantageous data structure that, combined with the suffix array and the Burrows-Wheeler transform, allows to efficiently compute some combinatorial properties of a string useful in several applications, especially in biological contexts. Nowadays, the input data for many problems are big collections of strings, for instance the data coming from "next-generation" DNA sequencing (NGS) technologies. In this paper we present the first lightweight algorithm (called extLCP) for the simultaneous computation of the longest common prefix array and the Burrows-Wheeler transform of a very large collection of strings having any length. The computation is realized by performing disk data accesses only via sequential scans, and the total disk space usage never needs more than twice the output size, excluding the disk space required for the input. Moreover, extLCP allows to compute also the suffix array of the strings of the collection, without any other further data structure is needed. Finally, we test our algorithm on real data and compare our results with another tool capable to work in external memory on large collections of strings.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。