arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1104.3153cs.DS
收藏

再论高效种子计算

Efficient Seeds Computation Revisited

Michalis Christou, Maxime Crochemore, Costas S. Iliopoulos, Marcin Kubica, Solon P. Pissis, Jakub Radoszewski, Wojciech Rytter, Bartosz Szreder, Tomasz Walen

摘要:

覆盖的概念是一个字符串的周期的推广,有线性时间算法来寻找最短的覆盖。种子是周期性的一种更复杂的推广,它是给定字符串的超串的覆盖,最短种子问题的算法难度要高得多。这个问题还没有得到很好的理解,没有线性时间算法是已知的。本文给出了它的几个版本的线性时间算法-计算最短左种子数组,最长左种子数组和检查给定长度的种子。最后一个问题的算法用于计算字符串的种子数组(即,字符串的所有前缀的最短种子)。我们还描述了一个更简单的替代算法有效地计算最短的种子。作为副产品,我们得到一个$O(n\log{(n/m)})$时间算法检查,如果最短的种子长度至少为$m$,并找到相应的种子。我们还纠正了以前已知的最短种子算法中缺失的一些重要细节(Iliopoulos等人,1996年)。

英文摘要:

The notion of the cover is a generalization of a period of a string, and there are linear time algorithms for finding the shortest cover. The seed is a more complicated generalization of periodicity, it is a cover of a superstring of a given string, and the shortest seed problem is of much higher algorithmic difficulty. The problem is not well understood, no linear time algorithm is known. In the paper we give linear time algorithms for some of its versions --- computing shortest left-seed array, longest left-seed array and checking for seeds of a given length. The algorithm for the last problem is used to compute the seed array of a string (i.e., the shortest seeds for all the prefixes of the string) in $O(n^2)$ time. We describe also a simpler alternative algorithm computing efficiently the shortest seeds. As a by-product we obtain an $O(n\log{(n/m)})$ time algorithm checking if the shortest seed has length at least $m$ and finding the corresponding seed. We also correct some important details missing in the previously known shortest-seed algorithm (Iliopoulos et al., 1996).

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑