Abstract
We present two natural variants of the indexing problem:
In the range non-overlapping indexing problem, we preprocess a given text to answer queries in which we are given a pattern, and wish to find a maximal-length sequence of occurrences of the pattern in the text, such that the occurrences do not overlap with one another. While efficiently solving this problem, our algorithm even enables us to efficiently perform so in substrings of the text, denoted by given start and end locations. The methods we supply thus generalize the string statistics problem [4,5], in which we are asked to report merely the number of non-overlapping occurrences in the entire text, by reporting the occurrences themselves, even only for substrings of the text.
In the related successive list indexing problem, during query-time we are given a pattern and a list of locations in the preprocessed text. We then wish to find a list of occurrences of the pattern, such that the ith occurrence is the leftmost occurrence of the pattern which starts to the right of the ith location given by the input list.
Both problems are solved by using tools from computational geometry, specifically a variation of the range searching for minimum problem of Lenhof and Smid [12], here considered over a grid, in what appears to be the first utilization of range searching for minimum in an indexing-related context.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agarwal, P., Erickson, J.: Geometric range searching and its relatives (1999)
Alstrup, S., Brodal, G.S., Rauhe, T.: New data structures for orthogonal range searching. In: IEEE Symposium on Foundations of Computer Science, pp. 198–207 (2000)
Amir, A., Keselman, D., Landau, G.M., Lewenstein, M., Lewenstein, N., Rodeh, M.: Text indexing and dictionary matching with one error. J. Algorithms 37(2), 309–325 (2000)
Apostolico, A., Preparata, F.P.: Data structures and algorithms for the string statistics problem. Algorithmica 15(5), 481–494 (1996)
Brodal, G.S., Lyngsø, R.B., Östlin, A., Pedersen, C.N.S.: Solving the string statistics problem in time O(n log n). In: Widmayer, P., Triguero, F., Morales, R., Hennessy, M., Eidenbenz, S., Conejo, R. (eds.) ICALP 2002. LNCS, vol. 2380, pp. 728–739. Springer, Heidelberg (2002)
Dietzfelbinger, M., Karlin, A.R., Mehlhorn, K., auf der Heide, F.M., Rohnert, H., Tarjan, R.E.: Dynamic perfect hashing: Upper and lower bounds. vol. 23, pp. 738–761, Philadelphia, PA, USA, Society for Industrial and Applied Mathematics (1994)
Farach, M.: Optimal suffix tree construction with large alphabets. In: FOCS 1997. Proceedings of the 38th Annual Symposium on Foundations of Computer Science, Washington, DC, USA, p. 137. IEEE Computer Society Press, Los Alamitos (1997)
Ferragina, P.: Dynamic text indexing under string updates. J. Algorithms 22(2), 296–328 (1997)
Ferragina, P., Muthukrishnan, S., de Berg, M.: Multi-method dispatching: A geometric approach with applications to string matching problems. In: STOC, pp. 483–491 (1999)
Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: STOC 1984. Proceedings of the sixteenth annual ACM symposium on Theory of computing, pp. 135–143. ACM Press, New York (1984)
Knuth, D., Morris, J.H., Pratt, V.: Fast pattern matching in strings. SIAM Journal on Computing 6(2), 323–350 (1977)
Lenhof, H.-P., Smid, M.: Using persistent data structures for adding range restrictions to searching problems. RAIRO Theoretical Informatics and Applications 28, 25–49 (1994)
McCreight, E.M.: A space-economical suffix tree construction algorithm. J. ACM 23(2), 262–272 (1976)
Ukkonen, E.: On-line construction of suffix trees. Algorithmica 14(3), 249–260 (1995)
Weiner, P.: Linear pattern matching algorithms. In: 14th Annual Symposium on Switching and Automata Theory, pp. 1–11. IEEE, New York (1973)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keller, O., Kopelowitz, T., Lewenstein, M. (2007). Range Non-overlapping Indexing and Successive List Indexing. In: Dehne, F., Sack, JR., Zeh, N. (eds) Algorithms and Data Structures. WADS 2007. Lecture Notes in Computer Science, vol 4619. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73951-7_54
Download citation
DOI: https://doi.org/10.1007/978-3-540-73951-7_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-73948-7
Online ISBN: 978-3-540-73951-7
eBook Packages: Computer ScienceComputer Science (R0)