On-Line Construction of Position Heaps

  • Gregory Kucherov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7024)


We propose a simple linear-time on-line algorithm for constructing a position heap for a string [EMOW11]. Our definition of position heap differs slightly from the one proposed in [EMOW11] in that it considers the suffixes ordered in the descending order of length. Our construction is based on classic suffix pointers and resembles the Ukkonen’s algorithm for suffix trees [Ukk95]. Using suffix pointers, the position heap can be extended into the augmented position heap that allows for a linear-time string matching algorithm [EMOW11].


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. BBH+85.
    Blumer, A., Blumer, J., Haussler, D., Ehrenfeucht, A., Chen, M.T., Seiferas, J.: The smallest automaton recognizing the subwords of a text. Theoretical Computer Science 40, 31–55 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  2. [CE70]
    Coffman, E., Eve, J.: File structures using hash functions. Communications of the ACM 13, 427–432 (1970)CrossRefzbMATHGoogle Scholar
  3. [CLR99]
    Cormen, T., Leiserson, C., Rivest, R.: Introduction to Algorithms. MIT Press, Cambridge (1999)zbMATHGoogle Scholar
  4. [CR94]
    Crochemore, M., Rytter, W.: Text algorithms. Oxford University Press, Oxford (1994)zbMATHGoogle Scholar
  5. [Cro86]
    Crochemore, M.: Transducers and repetitions. Theoretical Computer Science 45, 63–86 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  6. [Cro88]
    Crochemore, M.: String matching with constraints. In: Koubek, V., Janiga, L., Chytil, M.P. (eds.) MFCS 1988. LNCS, vol. 324, pp. 44–58. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  7. [EMOW11]
    Ehrenfeucht, A., McConnell, R., Osheim, N., Woo, S.-W.: Position heaps: A simple and dynamic text indexing data structure. CPM 2009 Lille 9(1), 100–121 (2011); Preliminary version in Proc. 20th Anniversary Edition of the Annual Symposium on Combinatorial Pattern Matching (CPM 2009)MathSciNetCrossRefzbMATHGoogle Scholar
  8. [Fre60]
    Fredkin, E.: Trie memory. Communications of the ACM 3(9), 490–499 (1960)CrossRefGoogle Scholar
  9. [Gus97]
    Gusfield, D.: Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press, Cambridge (1997)CrossRefzbMATHGoogle Scholar
  10. [MR01]
    Munro, J.I., Raman, V.: Succinct representation of balanced parentheses and static trees. SIAM J. Comput. 31(3), 762–776 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  11. [Ukk95]
    Ukkonen, E.: On-line construction of suffix-trees. Algorithmica 14(3), 249–260 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  12. [Wei73]
    Weiner, P.: Linear pattern matching algorithm. In: 14th Annual IEEE Symposium on Switching and Automata Theory, pp. 1–11 (1973)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Gregory Kucherov
    • 1
  1. 1.Laboratoire d’Informatique Gaspard MongeUniversité Paris-Est & CNRSMarne-la-ValléeFrance

Personalised recommendations