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
Journal of the ACM (JACM)
ACM SIGACT News
Computational Complexity
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Linear-time pointer-machine algorithms for least common ancestors, MST verification, and dominators
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
A universal interconnection pattern for parallel computers
Journal of the ACM (JACM)
On the complexity of or-parallelism
New Generation Computing
Optimal pointer algorithm for finding nearest common ancestors in dynamic trees
Journal of Algorithms
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Ancestor Problems on Pure Pointer Machines
LATIN '02 Proceedings of the 5th Latin American Symposium on Theoretical Informatics
Parallelism in random access machines
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
A Simple Optimal Solution for the Temporal Precedence Problem on Pure Pointer Machines
Theory of Computing Systems
Dynamic scheduling in parallel answer set programming solvers
SpringSim '07 Proceedings of the 2007 spring simulation multiconference - Volume 2
Hi-index | 5.23 |
We present a simple, arithmetic-free, efficient scheme to compress trees maintaining the NCA information. We use this compression scheme to provide an O(n + q lg lg n) solution for solving the NCA problem on Pure Pointer Machines (PPMs)--i.e., pointer machines with no arithmetic capabilities--in both the static and dynamic case, where n is the number of add-leaf/delete operations and q is the number of NCA queries. This solution is optimal. We also extend the solution to a parallel pointer machine algorithm. The algorithm assumes that the tree T is known in advance and it requires O(lg n) parallel time and O(n) processors for pre-processing where n is the number of nodes in the tree. Thereafter, it can answer any NCA query in O(lg lg n) time using a single processor. To our knowledge, this is the best known parallel pointer machine algorithm for the NCA problem. Our NCA algorithm requires an efficient parallel solution of the temporal precedence problem [Ranjan et al., The temporal precedence problem, Algorithmica 28 (2000) 288-306]. We provide an efficient parallel pointer machine algorithm to solve this problem as well.