Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
The nearest common ancestor in a dynamic tree
Acta Informatica
On finding lowest common ancestors: simplification and parallelization
SIAM Journal on Computing
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
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
Optimal pointer algorithm for finding nearest common ancestors in dynamic trees
Journal of Algorithms
Parallel execution of prolog programs: a survey
ACM Transactions on Programming Languages and Systems (TOPLAS)
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
On the Complexity of Parallel Implementation of Logic Programs
Proceedings of the 17th Conference on Foundations of Software Technology and Theoretical Computer Science
Recursive *-tree parallel data-structure
SFCS '89 Proceedings of the 30th Annual Symposium on Foundations of Computer Science
An Optimal Algorithm for Finding NCA on Pure Pointer Machines
SWAT '02 Proceedings of the 8th Scandinavian Workshop on Algorithm Theory
Sequential and parallel algorithms for the NCA problem on pure pointer machines
Theoretical Computer Science
Hi-index | 0.00 |
We study several problems related to computing ancestors in dynamic trees on pure pointer machines, i.e., pointer machines with no arithmetic capabilities. The problems are motivated by those that arise in implementation of declarative and search-based programming languages. We provide a data structure that allows us to solve many of these problems including the computation of the nearest common ancestor, determination of precedence in the in-order traversal of the tree and membership of two nodes in the same path in worst-case O(lg h) time per operation where h is the height of the tree. Our solutions work for the fully dynamic case (no preprocessing) and do not use any arithmetic.