We present two methods for finding a lowest common ancestor (LCA) for each pair of vertices of a directed acyclic graph (dag) on n vertices and m edges. The first method is surprisingly natural and solves the all-pairs LCA problem for the input dag on n vertices and m edges in time O(nm). As a corollary, we obtain an 0(n2)-time algorithm for finding genealogical distances considerably improving the previously known O(n2.575) time-bound for this problem. The second method relies on a novel reduction of the all-pairs LCA problem to the problem of finding maximum witnesses for Boolean matrix product. We solve the latter problem and hence also the all-pairs LCA problem in time O(n2+1/4-ω), where ω = 2.376 is the exponent of the fastest known matrix multiplication algorithm. This improves the previously known O(nw+3/2) time-bound for the general all-pairs LCA problem in dags. © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Kowaluk, M., & Lingas, A. (2005). LCA queries in directed acyclic graphs. In Lecture Notes in Computer Science (Vol. 3580, pp. 241–248). Springer Verlag. https://doi.org/10.1007/11523468_20
Mendeley helps you to discover research relevant for your work.