Order-Preserving Incomplete Suffix Trees and Order-Preserving Indexes

  • Maxime Crochemore
  • Costas S. Iliopoulos
  • Tomasz Kociumaka
  • Marcin Kubica
  • Alessio Langiu
  • Solon P. Pissis
  • Jakub Radoszewski
  • Wojciech Rytter
  • Tomasz Waleń
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8214)


Recently Kubica et al. (Inf. Process. Let., 2013) and Kim et al. (submitted to Theor. Comp. Sci.) introduced order-preserving pattern matching: for a given text the goal is to find its factors having the same ‘shape’ as a given pattern. Known results include a linear-time algorithm for this problem (in case of polynomially-bounded alphabet) and a generalization to multiple patterns. We give an O(nloglogn) time construction of an index that enables order-preserving pattern matching queries in time proportional to pattern length. The main component is a data structure being an incomplete suffix tree in the order-preserving setting. The tree can miss single letters related to branching at internal nodes. Such incompleteness results from the weakness of our so called weak character oracle. However, due to its weakness, such oracle can answer queries on-line in O(loglogn) time using a sliding-window approach. For most of the applications such incomplete suffix-trees provide the same functional power as the complete ones. We also give an \(O(\frac{n\log{n}}{\log\log{n}})\) time algorithm constructing complete order-preserving suffix trees.


Pattern Match Node Store Suffix Tree Locus Code Expected Time 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albert, M.H., Aldred, R.E.L., Atkinson, M.D., Holton, D.A.: Algorithms for pattern involvement in permutations. In: Eades, P., Takaoka, T. (eds.) ISAAC 2001. LNCS, vol. 2223, pp. 355–366. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Baker, B.S.: Parameterized pattern matching: Algorithms and applications. J. Comput. Syst. Sci. 52(1), 28–42 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Bose, P., Buss, J.F., Lubiw, A.: Pattern matching for permutations. Inf. Process. Lett. 65(5), 277–283 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Chan, T.M., Patrascu, M.: Counting inversions, offline orthogonal range counting, and related problems. In: Charikar, M. (ed.) SODA, pp. 161–173. SIAM (2010)Google Scholar
  5. 5.
    Cole, R., Hariharan, R.: Faster suffix tree construction with missing suffix links. SIAM J. Comput. 33(1), 26–42 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Crochemore, M., Hancart, C., Lecroq, T.: Algorithms on Strings. Cambridge University Press, USA (2007)CrossRefzbMATHGoogle Scholar
  7. 7.
    de Berg, M., Cheong, O., van Kreveld, M., Overmars, M.: Computational Geometry. Algorithms and Applications, 3rd edn. Springer, Heidelberg (2008)zbMATHGoogle Scholar
  8. 8.
    Dietzfelbinger, M., Karlin, A.R., Mehlhorn, K., Meyer auf der Heide, F., Rohnert, H., Tarjan, R.E.: Dynamic perfect hashing: Upper and lower bounds. SIAM J. Comput. 23(4), 738–761 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Guillemot, S., Vialette, S.: Pattern matching for 321-avoiding permutations. In: Dong, Y., Du, D.-Z., Ibarra, O. (eds.) ISAAC 2009. LNCS, vol. 5878, pp. 1064–1073. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Ibarra, L.: Finding pattern matchings for permutations. Inf. Process. Lett. 61(6), 293–295 (1997)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Kim, J., Eades, P., Fleischer, R., Hong, S.-H., Iliopoulos, C.S., Park, K., Puglisi, S.J., Tokuyama, T.: Order preserving matching. CoRR, abs/1302.4064 (2013); Submitted to Theor. Comput. Sci.Google Scholar
  12. 12.
    Knuth, D.E.: The Art of Computer Programming, 2nd edn. Fundamental Algorithms, vol. I. Addison-Wesley (1973)Google Scholar
  13. 13.
    Kopelowitz, T., Lewenstein, M.: Dynamic weighted ancestors. In: Bansal, N., Pruhs, K., Stein, C. (eds.) SODA, pp. 565–574. SIAM (2007)Google Scholar
  14. 14.
    Kubica, M., Kulczynski, T., Radoszewski, J., Rytter, W., Walen, T.: A linear time algorithm for consecutive permutation pattern matching. Inf. Process. Lett. 113(12), 430–433 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Lee, T., Na, J.C., Park, K.: On-line construction of parameterized suffix trees for large alphabets. Inf. Process. Lett. 111(5), 201–207 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Lovász, L.: Combinatorial problems and exercices. North-Holland (1979)Google Scholar
  17. 17.
    Rotem, D.: Stack sortable permutations. Discrete Mathematics 33(2), 185–196 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Ukkonen, E.: On-line construction of suffix trees. Algorithmica 14(3), 249–260 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Willard, D.E.: Log-logarithmic worst-case range queries are possible in space theta(n). Inf. Process. Lett. 17(2), 81–84 (1983)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Maxime Crochemore
    • 4
    • 6
  • Costas S. Iliopoulos
    • 4
    • 5
  • Tomasz Kociumaka
    • 1
  • Marcin Kubica
    • 1
  • Alessio Langiu
    • 4
  • Solon P. Pissis
    • 7
    • 8
  • Jakub Radoszewski
    • 1
  • Wojciech Rytter
    • 1
    • 3
  • Tomasz Waleń
    • 2
    • 1
  1. 1.Faculty of Mathematics, Informatics and MechanicsUniversity of WarsawWarsawPoland
  2. 2.Laboratory of Bioinformatics and Protein EngineeringInternational Institute of Molecular and Cell Biology in WarsawPoland
  3. 3.Faculty of Mathematics and Computer ScienceCopernicus UniversityToruńPoland
  4. 4.Dept. of InformaticsKing’s College LondonLondonUK
  5. 5.Faculty of Engineering, Computing and MathematicsUniversity of Western AustraliaPerthAustralia
  6. 6.Université Paris-EstFrance
  7. 7.Laboratory of Molecular Systematics and Evolutionary Genetics, Florida Museum of Natural HistoryUniversity of FloridaUSA
  8. 8.Scientific Computing Group (Exelixis Lab & HPC Infrastructure)Heidelberg Institute for Theoretical Studies (HITS gGmbH)Germany

Personalised recommendations