A simple optimal parallel algorithm to solve the lowest common ancestor problem

  • R. Lin
  • S. Olariu
Parallel Processing And Systems
Part of the Lecture Notes in Computer Science book series (LNCS, volume 497)


The problem of computing the lowest common ancestors of all pairs of nodes in a rooted tree is central in a large number of practical applications. The purpose of this note is to propose a very simple cost-optimal parallel algorithm to solve the lowest common ancestor problem. More precisely, with an n-node rooted tree as input, our algorithm runs in O(log n) time using O(n2/log n) processors in the EREW-PRAM model.

Key Words

ordered trees list ranking Euler tour lowest common ancestors parallel algorithms EREW-PRAM 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. Abrahamson, N. Dadoun, D. G. Kirkpatrick, and T. Przytycka, A simple parallel tree contraction algorithm, Journal of Algorithms, 10 (1989) 287–302.CrossRefGoogle Scholar
  2. 2.
    A. V. Aho, J. E. Hopcroft, and J. D. Ullman, On finding Lowest Common Ancestors in Trees, SIAM Journal on Computing, 5, (1976) 115–132.Google Scholar
  3. 3.
    R. Cole and U. Vishkin, Approximate parallel scheduling. Part I: The basic technique with applications to optimal parallel list ranking in logarithmic time, SIAM Journal on Computing, 17, (1988) 128–142.CrossRefGoogle Scholar
  4. 4.
    D. Harel and R. E. Tarjan, Fast algorithms for finding nearest common ancestors, SIAM Journal on Computing, 13, (1984) 338–355.CrossRefGoogle Scholar
  5. 5.
    J. JaJa and J. Simon, Parallel Algorithms in Graphs Theory: Planarity Testing, SIAM Journal on Computing, 11, (1982) 314–328.Google Scholar
  6. 6.
    D. Maier, An efficient method for storing ancestor information in trees, SIAM Journal on Computing, 8, (1979) 559–618.Google Scholar
  7. 7.
    C. D. Savage and J. JaJa, Fast, efficient parallel algorithms for some graph problems, SIAM Journal on Computing, 10, (1981) 682–691.CrossRefGoogle Scholar
  8. 8.
    B. Schieber and U. Vishkin, On finding lowest common ancestors: simplification and parallellization, SIAM Journal on Computing, 17 (1988) 1253–1262.Google Scholar
  9. 9.
    R. E. Tarjan, and U. Vishkin, An efficient parallel biconnectivity algorithm, SIAM Journal on Computing, 14 (1985) 862–874.MathSciNetGoogle Scholar
  10. 10.
    Y. H. Tsin, Finding lowest common ancestors in parallel, IEEE Trans. on Computers, 35 (1986), 764–769.Google Scholar
  11. 11.
    Y. H. Tsin and F. Y. Chin, Efficient Parallel Algorithms for a class of Graph Theoretic Problems, SIAM Journal on Computing, 13, (1984) 580–599.Google Scholar
  12. 12.
    U. Vishkin, Synchronous parallel computation — a survey, TR. 71, Department of Computer Science, Courant Institute, NYU, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • R. Lin
    • 1
  • S. Olariu
    • 2
  1. 1.Department of Computer ScienceSUNY at GeneseoGeneseo
  2. 2.Department of Computer ScienceOld Dominion UniversityNorfolk

Personalised recommendations