Faster and Simpler Online Computation of String Net Frequency
Abstract
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(n σ)-time algorithm that maintains a data structure of O(n) space which answers Single-NF queries in O(m σ + σ2) 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 processing where σ can be thousands large. This paper presents an improved online O(n σ)-time algorithm, which answers Single-NF queries in O(m σ) time and reports all answers to the All-NF problem in output-optimal O(|NF+(S)|) time, where NF+(S) is the set of substrings of S paired with their positive NF values. We note that |NF+(S)| = O(n) always holds. In contract 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.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.