An occurrence of a repeated substring u in a string S is called a net occurrence if extending the occurrence to the left or to the right decreases the number of occurrences to 1. The net frequency (NF) of a repeated substring u in a string S is the number of net occurrences of u in S. Very recently, Guo et al. [SPIRE 2024] proposed an online O(nlog σ)-time algorithm that maintains a data structure of O(n) space which answers Single-NF queries in time and reports all answers of the All-NF problem in O(nσ2) time. Here, n is the length of the input string S, m is the query pattern length, and σ is the alphabet size. The σ2 term is a major drawback of their method since computing string net frequencies is originally motivated for Chinese language text processing where σ can be thousands large. This paper presents an improved online O(nlog σ)-time algorithm, which answers Single-NF queries in O(mlog σ) time and reports all answers to the All-NF problem in output-optimal time, where is the set of substrings of S paired with their positive NF values. We note that always holds. In contrast to Guo et al.’s algorithm that is based on Ukkonen’s suffix tree construction, our algorithm is based on Weiner’s suffix tree construction.
扫码关注我们
求助内容:
应助结果提醒方式:
