Dynamic Dictionary Matching in the Online Model.

WADS(2019)

引用 1|浏览86
暂无评分
摘要
In the classic dictionary matching problem, the input is a dictionary of patterns D = {P-1, P-2, ... , P-k} and a text T, and the goal is to report all the occurrences in T of every pattern from D. In the dynamic version of the dictionary matching problem, patterns may be either added or removed from D. In the online version of the dictionary matching problem, the characters of T arrive online, one at a time, and the goal is to establish, immediately after every new character arrival, which of the patterns in D are a suffix of the current text. In this paper, we consider the dynamic version of the online dictionary matching problem. For the case where all the patterns have the same length m, we design an algorithm that adds or removes a pattern in O(mlog log parallel to D parallel to) time and processes a text character in O(log log parallel to D parallel to) time, where parallel to D parallel to = Sigma(P is an element of D) vertical bar P vertical bar. For the general case where patterns may have different lengths, the cost of adding or removing a pattern P is O(vertical bar P vertical bar log log parallel to D parallel to + logd/ log log d) while the cost per text character is O(log log parallel to D parallel to + (1 + occ) log d/ log log d), where d = vertical bar D vertical bar is the number of patterns in D and occ is the size of the output. These bounds improve on the state of the art for dynamic dictionary matching, while also providing online features. All our algorithms are Las-Vegas randomized and the time costs are in the worst-case with high probability. A by-product of our work is a solution for the fringed colored ancestor problem, resolving an open question of Breslauer and Italiano [J. Discrete Algorithms, 2013].
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要