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.
Preview
Unable to display preview. Download preview PDF.
References
A.V. Aho, J.E. Hopcroft and J.D. Ullman, The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.
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.
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.
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).
D. Harel and R.E. Tarjan, “Fast algorithms for finding nearest common ancestors”, SIAM J. Comput., 13 (1984), pp. 338–355.
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.
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.
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.
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).
Y.H. Tsin, “Finding lowest common ancestors in parallel”, IEEE Tran. Comput. C-35 (1986), pp. 764–769.
R.E. Tarjan and U. Vishkin, “An efficient parallel biconnectivity algorithm”, SIAM J. Comput. 14 (1985), pp. 862–874.
U. Vishkin, “Synchronous parallel computation — a survey”, TR-71, Dept. of Computer Science, Courant Institute, NYU, (1983).
U. Vishkin, “On efficient parallel strong orientation”, Information Proc. Letters 20 (1985), pp. 235–240.
Author information
Authors and Affiliations
Editor information
Rights 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