Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Storing a Sparse Table with 0(1) Worst Case Access Time
Journal of the ACM (JACM)
On finding lowest common ancestors: simplification and parallelization
SIAM Journal on Computing
Space-efficient message routing in c-decomposable networks
SIAM Journal on Computing
Implicit representation of graphs
SIAM Journal on Discrete Mathematics
Verification and sensitivity analysis of minimum spanning trees in linear time
SIAM Journal on Computing
Recursive star-tree parallel data structure
SIAM Journal on Computing
A randomized linear-time algorithm to find minimum spanning trees
Journal of the ACM (JACM)
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Compact routing schemes with low stretch factor (extended abstract)
PODC '98 Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing
Shortest paths in digraphs of small treewidth. Part II: optimal parallel algorithms
ESA '95 Selected papers from the third European symposium on Algorithms
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
Data structures for weighted matching and nearest common ancestors with linking
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Faster deterministic dictionaries
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Optimal pointer algorithm for finding nearest common ancestors in dynamic trees
Journal of Algorithms
A unifying look at data structures
Communications of the ACM
Compact labeling schemes for ancestor queries
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Compact routing with minimum stretch
Journal of Algorithms
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
Improved labeling scheme for ancestor queries
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Fast Incremental Planarity Testing
ICALP '92 Proceedings of the 19th International Colloquium on Automata, Languages and Programming
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Optimal suffix tree construction with large alphabets
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
On finding lowest common ancestors in trees
STOC '73 Proceedings of the fifth annual ACM symposium on Theory of computing
Scaling and related techniques for geometry problems
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Labeling schemes for small distances in trees
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Compact and localized distributed data structures
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
A fully dynamic reachability algorithm for directed graphs with an almost linear update time
STOC '04 Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
On-the-fly maintenance of series-parallel relationships in fork-join multithreaded programs
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
An O(N^2) Algorithm for Discovering Optimal Boolean Pattern Pairs
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
Boundary recognition in sensor networks by topological methods
Proceedings of the 12th annual international conference on Mobile computing and networking
Vertex disjoint paths on clique-width bounded graphs
Theoretical Computer Science
Average case analysis for tree labelling schemes
Theoretical Computer Science
Engineering Tree Labeling Schemes: A Case Study on Least Common Ancestors
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
Faster entropy-bounded compressed suffix trees
Theoretical Computer Science
Simple linear work suffix array construction
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Distributed approximation algorithms for finding 2-edge-connected subgraphs
OPODIS'07 Proceedings of the 11th international conference on Principles of distributed systems
Data structures for range minimum queries in multidimensional arrays
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
On space efficient two dimensional range minimum data structures
ESA'10 Proceedings of the 18th annual European conference on Algorithms: Part II
Nearest keyword search in XML documents
Proceedings of the 2011 ACM SIGMOD International Conference on Management of data
Fast computation of small cuts via cycle space sampling
ACM Transactions on Algorithms (TALG)
Resilient and low stretch routing through embedding into tree metrics
WADS'11 Proceedings of the 12th international conference on Algorithms and data structures
Theoretical and practical improvements on the RMQ-Problem, with applications to LCA and LCE
CPM'06 Proceedings of the 17th Annual conference on Combinatorial Pattern Matching
Distributed computation for swapping a failing edge
IWDC'04 Proceedings of the 6th international conference on Distributed Computing
Optimal succinctness for range minimum queries
LATIN'10 Proceedings of the 9th Latin American conference on Theoretical Informatics
Average case analysis for tree labelling schemes
ISAAC'05 Proceedings of the 16th international conference on Algorithms and Computation
A dynamic implicit adjacency labelling scheme for line graphs
WADS'05 Proceedings of the 9th international conference on Algorithms and Data Structures
Space-Efficient and fast algorithms for multidimensional dominance reporting and counting
ISAAC'04 Proceedings of the 15th international conference on Algorithms and Computation
Research paper: The saga of minimum spanning trees
Computer Science Review
Connectivity oracles for planar graphs
SWAT'12 Proceedings of the 13th Scandinavian conference on Algorithm Theory
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Efficient evaluation of nearest common ancestor in XML twig queries using tree-unaware RDBMS
DEXA'07 Proceedings of the 18th international conference on Database and Expert Systems Applications
A new succinct representation of RMQ-information and improvements in the enhanced suffix array
ESCAPE'07 Proceedings of the First international conference on Combinatorics, Algorithms, Probabilistic and Experimental Methodologies
A scalable approach to computing representative lowest common ancestor in directed acyclic graphs
Theoretical Computer Science
Hi-index | 0.00 |
Several papers describe linear time algorithms to preprocess a tree, such that one can answer subsequent nearest common ancestor queries in constant time. Here, we survey these algorithms and related results. A common idea used by all the algorithms for the problem is that a solution for complete binary trees is straightforward. Furthermore, for complete binary trees we can easily solve the problem in a distributed way by labeling the nodes of the tree such that from the labels of two nodes alone one can compute the label of their nearest common ancestor. Whether it is possible to distribute the data structure into short labels associated with the nodes is important for several applications such as routing. Therefore, related labeling problems have received a lot of attention recently.Previous optimal algorithms for nearest common ancestor queries work using some mapping from a general tree to a complete binary tree. However, it is not clear how to distribute the data structures obtained using these mappings. We conclude our survey with a new simple algorithm that labels the nodes of a rooted tree such that from the labels of two nodes alone one can compute in constant time the label of their nearest common ancestor. The labels assigned by our algorithm are of size $O(\log n)$ bits where $n$ is the number of nodes in the tree. The algorithm runs in $O(n)$ time.