A suffix tree is able to efficiently locate a pattern in an indexed string, but not in general the most recent copy of the pattern in an online stream, which is desirable in some applications. We study the most general version of the problem of locating a most recent match: supporting queries for arbitrary patterns, at each step of processing an online stream. We present augmentations to Ukkonen's suffix tree construction algorithm for optimal-time queries, maintaining indexing time within a logarithmic factor in the size of the indexed string. We show that the algorithm is applicable to sliding-window indexing, and sketch a possible optimization for use in the special case of Lempel-Ziv compression.
Lecture Notes in Computer Science, 2014, Vol 8486, p. 252-261
Main Research Area:
25th Annual Symposium on Combinatorial Pattern Matching, 2014