【发布时间】:2011-10-22 05:43:30
【问题描述】:
我正在寻找一种快速的suffix-array 构造算法。我对易于实现和原始速度比渐近复杂性更感兴趣(我知道可以在 O(n) 时间内通过后缀树构造后缀数组,但这需要很多空间;显然其他算法有糟糕的最坏情况大 O 复杂性,但在实践中运行得非常快)。我不介意生成 LCP 数组作为副产品的算法,因为无论如何我都需要一个用于我自己的目的。
我找到了taxonomy of various suffix array construction algorithms,但它已经过时了。我听说过SA-IS、qsufsort 和BPR,但我真的不知道它们之间的比较,也不知道是否有更好的算法。考虑到 suffix-array 领域现在看起来有多热,我希望其他一些算法在它们发布后已经取代了它们。我似乎记得曾经看过一篇描述称为“split”的快速算法的论文,但我现在一辈子都找不到它。
那么,目前最先进的技术是什么?理想情况下,我想要一份当前最佳算法的简短列表(如果可能,请附上链接),并快速了解它们的相对优势和劣势。
【问题讨论】:
标签: suffix-array