Finding lowest common ancestors in arbitrarily directed trees
Information Processing Letters
Applications of Path Compression on Balanced Trees
Journal of the ACM (JACM)
Finding least common ancestors in directed acyclic graphs
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Faster algorithms for finding lowest common ancestors in directed acyclic graphs
Theoretical Computer Science
All-pairs bottleneck paths for general graphs in truly sub-cubic time
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
All-pairs bottleneck paths in vertex weighted graphs
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Finding a heaviest triangle is not harder than matrix multiplication
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Nondecreasing paths in a weighted graph or: how to optimally read a train schedule
Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms
All-pairs disjoint paths from a common ancestor in Õ(nω) time
Theoretical Computer Science
A Path Cover Technique for LCAs in Dags
SWAT '08 Proceedings of the 11th Scandinavian workshop on Algorithm Theory
Unique lowest common ancestors in dags are almost as easy as matrix multiplication
ESA'07 Proceedings of the 15th annual European conference on Algorithms
Fast lowest common ancestor computations in dags
ESA'07 Proceedings of the 15th annual European conference on Algorithms
Finding heaviest H-subgraphs in real weighted graphs, with applications
ACM Transactions on Algorithms (TALG)
Nondecreasing paths in a weighted graph or: How to optimally read a train schedule
ACM Transactions on Algorithms (TALG)
Finding the smallest H-Subgraph in real weighted graphs and related problems
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
All-pairs ancestor problems inweighted dags
ESCAPE'07 Proceedings of the First international conference on Combinatorics, Algorithms, Probabilistic and Experimental Methodologies
Hi-index | 0.00 |
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 O(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(n^{{2}+\frac{1}{4-\omega}})$, where ω =2.376 is the exponent of the fastest known matrix multiplication algorithm. This improves the previously known $O(n^{\frac{\omega+3}{2}})$ time-bound for the general all-pairs LCA problem in dags.