首页> 外文期刊>Computers, IEEE Transactions on >Two Efficient Algorithms for Linear Time Suffix Array Construction
【24h】

Two Efficient Algorithms for Linear Time Suffix Array Construction

机译:线性时间后缀数组构造的两种有效算法

获取原文
获取原文并翻译 | 示例

摘要

We present, in this paper, two efficient algorithms for linear time suffix array construction. These two algorithms achieve their linear time complexities, using the techniques of divide-and-conquer, and recursion. What distinguish the proposed algorithms from other linear time suffix array construction algorithms (SACAs) are the variable-length leftmost S-type (LMS) substrings and the fixed-length d-critical substrings sampled for problem reduction, and the simple algorithms for sorting these sampled substrings: the induced sorting algorithm for the variable-length LMS substrings and the radix sorting algorithm for the fixed-length d-critical substrings. The very simple sorting mechanisms render our algorithms an elegant design framework, and, in turn, the surprisingly succinct implementations. The fully functional sample implementations of our proposed algorithms require only around 100 lines of C code for each, which is only 1/10 of the implementation of the KA [CHECK END OF SENTENCE] algorithm and comparable to that of the KS [CHECK END OF SENTENCE] algorithm. The experimental results demonstrate that these two newly proposed algorithms yield the best time and space efficiencies among all the existing linear time SACAs.
机译:我们在本文中提出了两种有效的线性时间后缀数组构造算法。这两种算法使用分治法和递归技术实现了线性时间复杂度。所提出的算法与其他线性时间后缀数组构造算法(SACA)的区别在于可变长度最左边的S型(LMS)子字符串和固定长度d关键子字符串采样以减少问题,并对这些进行排序的简单算法采样子串:用于可变长度LMS子串的归纳排序算法和用于固定长度d-关键子串的基数排序算法。非常简单的排序机制为我们的算法提供了一个优雅的设计框架,进而实现了令人惊讶的简洁实现。我们提出的算法的功能齐全的示例实现每个仅需要大约100行C代码,这仅是KA [CHECK END OF SENTENCE]算法的实现的1/10,与KS [CHECK END OF] SENTENCE]算法。实验结果表明,这两种新提出的算法在所有现有的线性时间SACA中产生了最佳的时间和空间效率。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号