Alphabet-Dependent String Searching with Wexponential Search Trees

We consider finding a pattern of length \(m\) in a compacted (linear-size) trie storing strings over an alphabet of size \(\sigma \). In static tries, we achieve \(O(m+\lg \lg \sigma )\) deterministic time, whereas in dynamic tries we achieve \(O(m+\frac{\lg ^{2}\lg \sigma }{\lg \lg \lg \sigma })\) deterministic time per query or update. One particular application of the above bounds (static and dynamic) are suffix trees, where we also show how to pre- or append letters in \(O(\lg \lg n + \frac{\lg ^{2}\lg \sigma }{\lg \lg \lg \sigma })\) time. Our main technical contribution is a weighted variant of exponential search trees, which might be of independent interest.

[1]  Richard Cole,et al.  Exponential Structures for Efficient Cache-Oblivious Algorithms , 2002, ICALP.

[2]  Milan Ruzic,et al.  Constructing Efficient Dictionaries in Close to Sorting Time , 2008, ICALP.

[3]  Kurt Mehlhorn Dynamic Binary Search , 1979, SIAM J. Comput..

[4]  Mikkel Thorup,et al.  Dynamic ordered sets with exponential search trees , 2002, J. ACM.

[5]  Moshe Lewenstein,et al.  Towards Real-Time Suffix Tree Construction , 2005, SPIRE.

[6]  Stephen Alstrup,et al.  Marked Ancestor Problems , 1998 .

[7]  Amihood Amir,et al.  Real-time indexing over fixed finite alphabets , 2008, SODA '08.

[8]  Tsvi Kopelowitz On-Line Indexing for General Alphabets via Predecessor Queries on Subsets of an Ordered List , 2012, 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science.

[9]  Giuseppe F. Italiano,et al.  Near Real-Time Suffix Tree Construction via the Fringe Marked Ancestor Problem , 2011, SPIRE.

[10]  Faith Ellen,et al.  Optimal Bounds for the Predecessor Problem and Related Problems , 2002, J. Comput. Syst. Sci..

[11]  Richard Cole,et al.  Dynamic LCA queries on trees , 1999, SODA '99.

[12]  Dan E. Willard,et al.  Log-logarithmic worst-case range queries are possible in space ⊕(N) , 1983 .

[13]  Dan Gusfield,et al.  Algorithms on strings , 1997 .

[14]  Edward M. McCreight,et al.  A Space-Economical Suffix Tree Construction Algorithm , 1976, JACM.

[15]  János Komlós,et al.  Storing a sparse table with O(1) worst case access time , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[16]  Moshe Lewenstein,et al.  Managing Unbounded-Length Keys in Comparison-Driven Data Structures with Applications to Online Indexing , 2014, SIAM J. Comput..

[17]  Peter Sanders,et al.  Linear work suffix array construction , 2006, JACM.

[18]  Eugene W. Myers,et al.  Suffix arrays: a new method for on-line string searches , 1993, SODA '90.

[19]  Dan Gusfield,et al.  Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[20]  Peter Weiner,et al.  Linear Pattern Matching Algorithms , 1973, SWAT.

[21]  Moshe Lewenstein,et al.  Suffix Trays and Suffix Trists: Structures for Faster Text Indexing , 2006, ICALP.

[22]  Gregory Kucherov,et al.  Full-Fledged Real-Time Indexing for Constant Size Alphabets , 2013, ICALP.