Dynamic Dictionary Matching in the Online Model

被引:1
|
作者
Golan, Shay [1 ]
Kociumaka, Tomasz [1 ]
Kopelowitz, Tsvi [1 ]
Porat, Ely [1 ]
机构
[1] Bar Ilan Univ, Ramat Gan, Israel
来源
关键词
D O I
10.1007/978-3-030-24766-9_30
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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].
引用
收藏
页码:409 / 422
页数:14
相关论文
共 50 条
  • [1] DYNAMIC DICTIONARY MATCHING
    AMIR, A
    FARACH, M
    GALIL, Z
    GIANCARLO, R
    PARK, K
    JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1994, 49 (02) : 208 - 222
  • [2] IMPROVED DYNAMIC DICTIONARY MATCHING
    AMIR, A
    FARACH, M
    IDURY, RM
    LAPOUTRE, JA
    SCHAFFER, AA
    INFORMATION AND COMPUTATION, 1995, 119 (02) : 258 - 282
  • [3] Online Dictionary Matching for Streams of XML Documents
    Silvasti, Panu
    Sippu, Seppo
    Soisalon-Soininen, Eljas
    THEORETICAL COMPUTER SCIENCE, 2010, 323 : 153 - +
  • [4] Online parameterized dictionary matching with one gap
    Levy, Avivit
    Shalom, B. Riva
    THEORETICAL COMPUTER SCIENCE, 2020, 845 : 208 - 229
  • [5] DYNAMIC DICTIONARY MATCHING WITH FAILURE FUNCTIONS
    IDURY, RM
    SCHAFFER, AA
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 644 : 276 - 287
  • [6] DYNAMIC DICTIONARY MATCHING WITH FAILURE FUNCTIONS
    IDURY, RM
    SCHAFFER, AA
    THEORETICAL COMPUTER SCIENCE, 1994, 131 (02) : 295 - 310
  • [7] Dynamic dictionary matching in external memory
    Ferragina, P
    Luccio, F
    INFORMATION AND COMPUTATION, 1998, 146 (02) : 85 - 99
  • [8] Dynamic Dictionary Matching in External Memory
    Dipartimento di Informatica, Università di Pisa, Pisa, Italy
    Inf Comput, 2 (85-99):
  • [9] Succinct Index for Dynamic Dictionary Matching
    Hon, Wing-Kai
    Lam, Tak-Wah
    Shah, Rahul
    Tam, Siu-Lung
    Vitter, Jeffrey Scott
    ALGORITHMS AND COMPUTATION, PROCEEDINGS, 2009, 5878 : 1034 - +
  • [10] Mind the Gap!Online Dictionary Matching with One Gap
    Amihood Amir
    Tsvi Kopelowitz
    Avivit Levy
    Seth Pettie
    Ely Porat
    B. Riva Shalom
    Algorithmica, 2019, 81 : 2123 - 2157