Abstract
The weak-prefix search problem asks for the strings in a dictionary \({\cal S}\) that are prefixed by a pattern P[1,p], if any, otherwise it admits any answer. Strings in \({\cal S}\) have average length ℓ, are n in number, and are given in advance to be preprocessed, whereas pattern P is provided on-line. In this paper we solve this problem in the cache-oblivious model by using the optimal O(n logℓ) bits of space and O(p/B + log B n) I/Os. The searching algorithm is of Monte-Carlo type, so its answer is correct with high probability. We also extend our algorithmic scheme to the case in which a probability distribution over the queried prefixes is known, and eventually address the deterministic case too.
Supported by PRIN MadWeb 2008 and FIRB Linguistica 2006.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Belazzougui, D., Boldi, P., Pagh, R., Vigna, S.: Fast prefix search in little space, with applications. In: de Berg, M., Meyer, U. (eds.) ESA 2010. LNCS, vol. 6346, pp. 427–438. Springer, Heidelberg (2010)
Bender, M., Farach-Colton, M., Kuszmaul, B.: Cache-oblivious string B-trees. In: Procs. ACM PODS, pp. 233–242 (2006)
Brodal, G., Fagerberg, R.: Cache-oblivious string dictionaries. In: ACM-SIAM SODA, pp. 581–590 (2006)
Clark, D.R., Munro, J.I.: Efficient suffix trees on secondary storage. In: Procs. ACM-SIAM SODA, pp. 383–391 (1996)
Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (1990)
Demaine, E.D., Iacono, J., Langerman, S.: Worst-case optimal tree layout in a memory hierarchy (2004), available on arXiv:cs.DS/0410048 (manuscript)
Ferragina, P.: Data structures: Time, I/Os, entropy, joules! In: de Berg, M., Meyer, U. (eds.) ESA 2010. LNCS, vol. 6347, pp. 1–16. Springer, Heidelberg (2010)
Ferragina, P., Grossi, R.: The string B-tree: A new data structure for string search in external memory and its applications. J. ACM 46(2), 236–280 (1999)
Ferragina, P., Grossi, R., Gupta, A., Shah, R., Vitter, J.S.: On searching compressed string collections cache-obliviously. In: Procs. ACM PODS, pp. 181–190 (2008)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: Procs. IEEE FOCS, pp. 285–298 (1999)
Ko, P., Aluru, S.: Obtaining Provably Good Performance from Suffix Trees in Secondary Storage. In: Lewenstein, M., Valiente, G. (eds.) CPM 2006. LNCS, vol. 4009, pp. 72–83. Springer, Heidelberg (2006)
Maheshwari, A., Zeh, N.: A survey of techniques for designing I/O-efficient algorithms. In: Meyer, U., Sanders, P., Sibeyn, J.F. (eds.) Algorithms for Memory Hierarchies. LNCS, vol. 2625, pp. 36–61. Springer, Heidelberg (2003)
Vitter, J.: Algorithms and Data Structures for External Memory. Series on Foundations and Trends in Theoretical Computer Science. Now Publishers (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ferragina, P. (2011). On the Weak Prefix-Search Problem. In: Giancarlo, R., Manzini, G. (eds) Combinatorial Pattern Matching. CPM 2011. Lecture Notes in Computer Science, vol 6661. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21458-5_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-21458-5_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21457-8
Online ISBN: 978-3-642-21458-5
eBook Packages: Computer ScienceComputer Science (R0)