Skip to main content

On finding lowest common ancestors: Simplification and parallelization

Extended summary

  • Parallel Tree Contraction
  • Conference paper
  • First Online:
Book cover VLSI Algorithms and Architectures (AWOC 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 319))

Included in the following conference series:

Abstract

We consider the following problem. Suppose a rooted tree T is available for preprocessing. Answer on-line queries requesting the lowest common ancestor for any pair of vertices in T. We present a linear time and space preprocessing algorithm which enables us to answer each query in O (1) time, as in Harel and Tarjan [HT-84]. Our algorithm has the advantage of being simple and easily parallelizable. The resulting parallel preprocessing algorithm runs in logarithmic time using an optimal number of processors on an EREW PRAM. Each query is then answered in O (1) time using a single processor.

The research of both authors was supported by the Applied Mathematical Sciences subprogram of the Office of Energy Research, U.S. Department of Energy under contract number DE-AC02-76ER03077.

The research of this author was supported by NSF grant NSF-CCR-8615337, ONR grant N00014-85-K-0046 and the Foundation for Research in Electronics, Computers and Communication, administered by the Israeli Academy of Sciences and Humanities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho, J.E. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.

    Google Scholar 

  2. A. Apostolico, C. Iliopoulos, G.M. Landau, B. Schieber and U. Vishkin, “Parallel construction of a suffix tree with applications”, to appear in Algorithmica special issue on parallel and distributed computing.

    Google Scholar 

  3. R. Cole and U. Vishkin, “Approximate and exact parallel scheduling with applications to list, tree and graph problems”, Proc. 27th Annual Symp. on Foundations of Computer Science, (1986), pp. 478–491.

    Google Scholar 

  4. R. Cole and U. Vishkin, “Faster optimal parallel prefix sums and list ranking”, TR 56/86, the Moise and Frida Eskenasy Institute of Computer Science, Tel Aviv University (1986).

    Google Scholar 

  5. D. Harel and R.E. Tarjan, “Fast algorithms for finding nearest common ancestors”, SIAM J. Comput., 13 (1984), pp. 338–355.

    Article  MATH  MathSciNet  Google Scholar 

  6. G.M. Landau and U. Vishkin, “Introducing efficient parallelism into approximate string matching”, Proc. 18th ACM Symposium on Theory of Computing, 1986, pp. 220–230.

    Google Scholar 

  7. G.M. Landau, B. Schieber and U. Vishkin, “Parallel construction of a suffix tree”, Proc. 14th Int. Colloq. on Automata Lang. and Prog., Lecture Notes in Computer Science 267, Springer-Verlag (1987), pp. 314–325.

    Google Scholar 

  8. Y. Maon, B. Schieber and U. Vishkin, “Parallel ear decomposition search (EDS) and st-numbering in graphs”, Theoretical Computer Science, 47 (1986), pp. 277–298.

    Article  MATH  MathSciNet  Google Scholar 

  9. B. Schieber and U. Vishkin, “On finding lowest common ancestors: simplification and parallelization”, to appear in SIAM J. Comput., also TR 63/87, the Moise and Frida Eskenasy Institute of Computer Science, Tel Aviv University (1987).

    Google Scholar 

  10. Y.H. Tsin, “Finding lowest common ancestors in parallel”, IEEE Tran. Comput. C-35 (1986), pp. 764–769.

    MathSciNet  Google Scholar 

  11. R.E. Tarjan and U. Vishkin, “An efficient parallel biconnectivity algorithm”, SIAM J. Comput. 14 (1985), pp. 862–874.

    Article  MATH  MathSciNet  Google Scholar 

  12. U. Vishkin, “Synchronous parallel computation — a survey”, TR-71, Dept. of Computer Science, Courant Institute, NYU, (1983).

    Google Scholar 

  13. U. Vishkin, “On efficient parallel strong orientation”, Information Proc. Letters 20 (1985), pp. 235–240.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

John H. Reif

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schieber, B., Vishkin, U. (1988). On finding lowest common ancestors: Simplification and parallelization. In: Reif, J.H. (eds) VLSI Algorithms and Architectures. AWOC 1988. Lecture Notes in Computer Science, vol 319. Springer, New York, NY. https://doi.org/10.1007/BFb0040379

Download citation

  • DOI: https://doi.org/10.1007/BFb0040379

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-0-387-96818-6

  • Online ISBN: 978-0-387-34770-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics