Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Matrix multiplication via arithmetic progressions
Journal of Symbolic Computation - Special issue on computational algebraic complexity
Witnesses for Boolean matrix multiplication and for transitive closure
Journal of Complexity
Finding lowest common ancestors in arbitrarily directed trees
Information Processing Letters
Rectangular matrix multiplication revisited
Journal of Complexity
Fast rectangular matrix multiplication and applications
Journal of Complexity
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
All pairs shortest paths using bridging sets and rectangular matrix multiplication
Journal of the ACM (JACM)
Introduction to Algorithms
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
SIAM Journal on Computing
LCA queries in directed acyclic graphs
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
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
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
Faster multi-witnesses for Boolean matrix multiplication
Information Processing Letters
Fast algorithms for (max, min)-matrix multiplication and bottleneck shortest paths
SODA '09 Proceedings of the twentieth Annual ACM-SIAM Symposium on Discrete Algorithms
Clustering Hierarchical Data Using Self-Organizing Map: A Graph-Theoretical Approach
WSOM '09 Proceedings of the 7th International Workshop on Advances in Self-Organizing Maps
Context-similarity based hotlinks assignment: Model, metrics and algorithm
Data & Knowledge Engineering
New common ancestor problems in trees and directed acyclic graphs
Information Processing Letters
Unique lowest common ancestors in dags are almost as easy as matrix multiplication
ESA'07 Proceedings of the 15th annual European conference on Algorithms
Subquadratic time approximation algorithms for the girth
Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete Algorithms
A scalable approach to computing representative lowest common ancestor in directed acyclic graphs
Theoretical Computer Science
Hi-index | 5.23 |
We present two new 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). 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^+^@l), where @l satisfies the equation @w(1,@l,1)=1+2@l and @w(1,@l,1) is the exponent of the multiplication of an nxn^@l matrix by an n^@lxn matrix. By the currently best known bounds on @w(1,@l,1), the running time of our algorithm is O(n^2^.^5^7^5). Our algorithm improves the previously known O(n^2^.^6^8^8) time-bound for the general all-pairs LCA problem in dags by Bender et al. Our additional contribution is a faster algorithm for solving the all-pairs lowest common ancestor problem in dags of small depth, where the depth of a dag is defined as the length of the longest path in the dag. For all dags of depth at most h@?n^@a, where @a~0.294, our algorithm runs in a time that is asymptotically the same as that required for multiplying two nxn matrices, that is, O(n^@w); we also prove that this running time is optimal even for dags of depth 1. For dags with depth hn^@a, the running time of our algorithm is at most O(n^@w@?h^0^.^4^6^8). This algorithm is faster than our algorithm for arbitrary dags for all values of h@?n^0^.^4^2.