Efficient Algorithms for Shortest Partial Seeds in Words


A factor $u$ of a word $w$ is a cover of $w$ if every position in $w$ lies within some occurrence of $u$ in $w$. A factor $u$ is a seed of w if it is a cover of a superstring of w. Covers and seeds extend the classical notions of periodicity. We introduce a new notion of $\alpha$-partial seed, that is, a factor covering as a seed at least $\alpha$ positions in a given word. We use the Cover Suffix Tree, introduced recently in the context of $\alpha$-partial covers (Kociumaka et al, CPM 2013); an $O(n\log n)$-time algorithm constructing such a tree is known. However it appears that partial seeds are more complicated than partial covers—our algorithms require algebraic manipulations of special functions related to edges of the modified Cover Suffix Tree and the border array. We present an algorithm for computing shortest $\alpha$-partial seeds that works in $O(n)$ time if the Cover Suffix Tree is already given.

CPM 2014:192-201
conference proceedings