Summary: Real-Time Indexing over Fixed Finite Alphabets
Amihood Amir 1 and Igor Nor 2
1 Department of Computer Science, Bar-Ilan University, Ramat-Gan 52900, ISRAEL, +972-3-531-8770, Fax
+972-3-736-0498, email: firstname.lastname@example.org; and and College of Computing, Georgia Tech, Atlanta, GA
30332-0280. Partly supported by NSF grant CCR-01-04494 and ISF grant 35/05.
2 Department of Computer Science, Bar-Ilan University, Ramat-Gan 52900, ISRAEL, email: email@example.com;
Partly supported by ISF grant 35/05.
Abstract. The quest for a real-time indexing algorithm is over three decades old. To date there is no
convincing understandable solution to this problem. This paper provides a real-time indexing algorithm
over a constant-sized alphabet. Assuming the text is arriving at a constant rate, the algorithm spends
O(1) time on every text symbol. Whenever a length m pattern is given, the algorithm decides in time
O(m) whether there is an occurrence of the pattern in the text thus far.
Keywords: Pattern matching, suÆx tree, real time, quasi real time.
Indexing is one of the most important paradigms in searching. The idea is to preprocess the text
and construct a mechanism that will later provide answer to queries of the the form does a pattern
P occur in the text in time proportional to the size of the pattern rather than the text. The suÆx
tree [11, 8, 10, 2] and suÆx array [7, 5] have proven to be invaluable data structures for indexing.
One of the intriguing questions that has been plaguing the algorithms community is whether there
exists a real time indexing algorithm. An algorithm is on-line if it accomplishes its task for the ith