Text indexing and dictionary matching with one error

被引:47
作者
Amir, A [1 ]
Keselman, D
Landau, GM
Lewenstein, M
Lewenstein, N
Rodeh, M
机构
[1] Bar Ilan Univ, Dept Math & Comp Sci, IL-52900 Ramat Gan, Israel
[2] Georgia Tech, Atlanta, GA USA
[3] Simons Technol, Decatur, GA 30030 USA
[4] Polytech Univ, Dept Comp & Informat Sci, Metrotech Ctr 6, Brooklyn, NY 11201 USA
[5] Univ Haifa, Dept Comp Sci, IL-31905 Haifa, Israel
[6] MATAM, Ctr Adv Technol, IBM, Res Lab Haifa, IL-31905 Haifa, Israel
来源
JOURNAL OF ALGORITHMS-COGNITION INFORMATICS AND LOGIC | 2000年 / 37卷 / 02期
基金
美国国家科学基金会; 以色列科学基金会;
关键词
D O I
10.1006/jagm.2000.1104
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The indexing problem is where a text is preprocessed and subsequent queries of the form "Find all occurrences of pattern P in the text" are answered in time proportional to the length of the query and the number of occurrences. In the dictionary matching problem a set of patterns is preprocessed and subsequent queries of the form "Find all occurrences of dictionary patterns in text T" are answered in time proportional to the length of the text and the number of occurrences. There exist efficient worst-case solutions for the indexing problem and the dictionary matching problem, but none that find approximate occurrences of the patterns, i.e., where the pattern is within a bound edit (or Hamming) distance from the appropriate text location. In this paper we present a uniform deterministic solution to both the indexing and the general dictionary matching problem with one error. We preprocess the data in time O(n log(2) n), where n is the text size in the indexing problem and the dictionary size in the dictionary matching problem. Our query time for the indexing problem is O(m log n log log n + tocc), where m is the query string size and tocc is the number of occurrences, Our query time for the dictionary matching problem is O(n log(3) d log log d + tocc), where n is the text size and d the dictionary size. The time bounds above apply to both bounded and unbounded alphabets, (C) 2000 Academic Press.
引用
收藏
页码:309 / 325
页数:17
相关论文
共 28 条
[1]   EFFICIENT STRING MATCHING - AID TO BIBLIOGRAPHIC SEARCH [J].
AHO, AV ;
CORASICK, MJ .
COMMUNICATIONS OF THE ACM, 1975, 18 (06) :333-340
[2]  
AMIR A, 1991, PROCEEDINGS - 32ND ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, P760, DOI 10.1109/SFCS.1991.185445
[3]   DYNAMIC DICTIONARY MATCHING [J].
AMIR, A ;
FARACH, M ;
GALIL, Z ;
GIANCARLO, R ;
PARK, K .
JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1994, 49 (02) :208-222
[4]   IMPROVED DYNAMIC DICTIONARY MATCHING [J].
AMIR, A ;
FARACH, M ;
IDURY, RM ;
LAPOUTRE, JA ;
SCHAFFER, AA .
INFORMATION AND COMPUTATION, 1995, 119 (02) :258-282
[5]  
AMIR A, 1999, P WORKSH ALG DAT STR, P181
[6]  
Apostolico A, 1997, Pattern Matching Algorithms
[7]   FAST STRING SEARCHING ALGORITHM [J].
BOYER, RS ;
MOORE, JS .
COMMUNICATIONS OF THE ACM, 1977, 20 (10) :762-772
[8]  
CHROCHEMORE M, 1994, TEXT ALGORITHMS
[9]   Optimal suffix tree construction with large alphabets [J].
Farach, M .
38TH ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, PROCEEDINGS, 1997, :137-143
[10]  
FERRAGINA P, 1995, PROCEEDINGS OF THE SIXTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, P531