Papers
Topics
Authors
Recent
Search
2000 character limit reached

Linear Time Construction of Cover Suffix Tree and Applications

Published 8 Aug 2023 in cs.DS | (2308.04289v1)

Abstract: The Cover Suffix Tree (CST) of a string TT is the suffix tree of TT with additional explicit nodes corresponding to halves of square substrings of TT. In the CST an explicit node corresponding to a substring CC of TT is annotated with two numbers: the number of non-overlapping consecutive occurrences of CC and the total number of positions in TT that are covered by occurrences of CC in TT. Kociumaka et al. (Algorithmica, 2015) have shown how to compute the CST of a length-nn string in O(nlog⁡n)O(n \log n) time. We show how to compute the CST in O(n)O(n) time assuming that TT is over an integer alphabet. Kociumaka et al. (Algorithmica, 2015; Theor. Comput. Sci., 2018) have shown that knowing the CST of a length-nn string TT, one can compute a linear-sized representation of all seeds of TT as well as all shortest α\alpha-partial covers and seeds in TT for a given α\alpha in O(n)O(n) time. Thus our result implies linear-time algorithms computing these notions of quasiperiodicity. The resulting algorithm computing seeds is substantially different from the previous one (Kociumaka et al., SODA 2012, ACM Trans. Algorithms, 2020). Kociumaka et al. (Algorithmica, 2015) proposed an O(nlog⁡n)O(n \log n)-time algorithm for computing a shortest α\alpha-partial cover for each α=1,…,n\alpha=1,\ldots,n; we improve this complexity to O(n)O(n). Our results are based on a new characterization of consecutive overlapping occurrences of a substring SS of TT in terms of the set of runs (see Kolpakov and Kucherov, FOCS 1999) in TT. This new insight also leads to an O(n)O(n)-sized index for reporting overlapping consecutive occurrences of a given pattern PP of length mm in O(m+output)O(m+output) time, where outputoutput is the number of occurrences reported. In comparison, a general index for reporting bounded-gap consecutive occurrences of Navarro and Thankachan (Theor. Comput. Sci., 2016) uses O(nlog⁡n)O(n \log n) space.

Authors (1)
Citations (3)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.