Results 1  10
of
29
Nearest Common Ancestors: A survey and a new distributed algorithm
, 2002
"... 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 ba ..."
Abstract

Cited by 90 (12 self)
 Add to MetaCart
(Show Context)
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 balanced binary trees is straightforward. Furthermore, for complete balanced 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.
Succinct ordinal trees with levelancestor queries
 In SODA ’04: Proceedings of the Fifteenth annual ACMSIAM Symposium on Discrete Algorithms
, 2004
"... We consider succinct or spaceefficient representations of trees that efficiently support a variety of navigation operations. We focus on static ordinal trees, i.e., arbitrary static rooted trees where the children of each node are ordered. The set of operations is essentially the union of the sets ..."
Abstract

Cited by 54 (8 self)
 Add to MetaCart
(Show Context)
We consider succinct or spaceefficient representations of trees that efficiently support a variety of navigation operations. We focus on static ordinal trees, i.e., arbitrary static rooted trees where the children of each node are ordered. The set of operations is essentially the union of the sets of operations supported by previous succinct
A General Technique for Managing Strings in ComparisonDriven Data Structures
"... Abstract. This paper presents a general technique for optimally transforming any dynamic data structure D that operates on atomic and indivisible keys by constanttime comparisons, into a data structure D ′ that handles unboundedlength keys whose comparison cost is not a constant. 1 ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
Abstract. This paper presents a general technique for optimally transforming any dynamic data structure D that operates on atomic and indivisible keys by constanttime comparisons, into a data structure D ′ that handles unboundedlength keys whose comparison cost is not a constant. 1
Path Minima Queries in Dynamic Weighted Trees
"... Abstract. In the path minima problem on trees each tree edge is assigned a weight and a query asks for the edge with minimum weight on a path between two nodes. For the dynamic version of the problem on a tree, where the edgeweights can be updated, we give comparisonbased and RAM data structures th ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
Abstract. In the path minima problem on trees each tree edge is assigned a weight and a query asks for the edge with minimum weight on a path between two nodes. For the dynamic version of the problem on a tree, where the edgeweights can be updated, we give comparisonbased and RAM data structures that achieve optimal query time. These structures support inserting a node on an edge, inserting a leaf, and contracting edges. When only insertion and deletion of leaves in a tree are needed, we give two data structures that achieve optimal and significantly lower query times than when updating the edgeweights is allowed. One is a semigroup structure for which the edgeweights are from an arbitrary semigroup and queries ask for the semigroupsum of the edgeweights on a given path. For the other structure the edgeweights are given in the word RAM. We complement these upper bounds with lower bounds for different variants of the problem. 1
Finding Path Minima in Incremental Unrooted Trees
, 2008
"... Consider a dynamic forest of unrooted trees over a set of n vertices which we update by link operations: Each link operation adds a new edge adjacent to vertices in two different trees. Every edge in the forest has a weight associated with it, and at any time we want to be able to answer a pathmin ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Consider a dynamic forest of unrooted trees over a set of n vertices which we update by link operations: Each link operation adds a new edge adjacent to vertices in two different trees. Every edge in the forest has a weight associated with it, and at any time we want to be able to answer a pathmin query which returns that edge of minimum weight along the path between two given vertices. For the case where the weights are integers we give an algorithm that performs n − 1 link operations and m pathmin queries in O(n + mα(m,n)) time. This extends well known results of Tarjan [11] and Yao [12] to a more general dynamic setting at the cost of restricting the weights to be integers. Using our data structure we get an optimal data structure for a restricted version of the mergeable trees problem [9]. We also suggest a simpler data structures for the case where trees are rooted and the link operation always adds an edge between the root of one tree and an arbitrary vertex of another tree.
Maintaining Hierarchical Graph Views for Dynamic Graphs
, 2004
"... We describe a data structure for e#ciently maintaining views of dynamic graphs. ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
We describe a data structure for e#ciently maintaining views of dynamic graphs.
Fast, precise and dynamic distance queries
"... We present an approximate distance oracle for a point set S with n points and doubling dimension λ. For every ε> 0, the oracle supports (1 + ε)approximate distance queries in (universal) constant time, occupies space [ε −O(λ) + 2 O(λ log λ)]n, and can be constructed in [2 O(λ) log 3 n+ε −O(λ) +2 ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present an approximate distance oracle for a point set S with n points and doubling dimension λ. For every ε> 0, the oracle supports (1 + ε)approximate distance queries in (universal) constant time, occupies space [ε −O(λ) + 2 O(λ log λ)]n, and can be constructed in [2 O(λ) log 3 n+ε −O(λ) +2 O(λ log λ)]n expected time. This improves upon the best previously known constructions, presented by HarPeled and Mendel [13]. Furthermore, the oracle can be made fully dynamic with expected O(1) query time and only 2O(λ) log n+ε−O(λ) O(λ log λ) +2 update time. This is the first fully dynamic (1 + ε)distance oracle. 1
Weighted ancestors in suffix trees
 In Proc. 22nd ESA
, 2014
"... Abstract. The classical, ubiquitous, predecessor problem is to construct a data structure for a set of integers that supports fast predecessor queries. Its generalization to weighted trees, a.k.a. the weighted ancestor problem, has been extensively explored and successfully reduced to the predecess ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. The classical, ubiquitous, predecessor problem is to construct a data structure for a set of integers that supports fast predecessor queries. Its generalization to weighted trees, a.k.a. the weighted ancestor problem, has been extensively explored and successfully reduced to the predecessor problem. It is known that any solution for both problems with an input set from a polynomially bounded universe that preprocesses a weighted tree in O(n polylog(n)) space requires Ω(log logn) query time. Perhaps the most important and frequent application of the weighted ancestors problem is for suffix trees. It has been a longstanding open question whether the weighted ancestors problem has better bounds for suffix trees. We answer this question positively: we show that a suffix tree built for a text w[1..n] can be preprocessed using O(n) extra space, so that queries can be answered in O(1) time. Thus we improve the running times of several applications. Our improvement is based on a number of data structure tools and a periodicitybased insight into the combinatorial structure of a suffix tree. 1
The Euler path to static levelancestors
"... Suppose a rooted tree T is given for preprocessing. The levelancestor problem is to answer quickly queries of the following form. Given a vertex v and an integer i> 0, find the ith vertex on the path from the root to v. Algorithms that achieve a linear time bound for preprocessing and a constant ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Suppose a rooted tree T is given for preprocessing. The levelancestor problem is to answer quickly queries of the following form. Given a vertex v and an integer i> 0, find the ith vertex on the path from the root to v. Algorithms that achieve a linear time bound for preprocessing and a constant time bound for a query have been published by Dietz (1991), Alstrup and Holm (2000), and Bender and Farach (2002). The first two algorithms address dynamic versions of the problem; the last addresses the static version only and is the simplest. The purpose of this note is to expose another simple algorithm that lies under a complicated PRAM algorithm by Berkman and Vishkin (1990,1994). Keywords: algorithms, data structures, trees.
G.: Succinct indices for path minimum, with applications to path reporting. In: ESA
, 2014
"... Abstract. In the path minimum query problem, we preprocess a tree on n weighted nodes, such that given an arbitrary path, we can locate the node with the smallest weight along this path. We design novel succinct indices for this problem; one of our index structures supports queries in O((m;n)) time, ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. In the path minimum query problem, we preprocess a tree on n weighted nodes, such that given an arbitrary path, we can locate the node with the smallest weight along this path. We design novel succinct indices for this problem; one of our index structures supports queries in O((m;n)) time, and occupiesO(m) bits of space in addition to the space required for the input tree, where m is an integer greater than or equal to n and (m;n) is the inverseAckermann function. These indices give us the first succinct data structures for the path minimum problem, and allow us to obtain new data structures for path reporting queries, which report the nodes along a query path whose weights are within a query range. We achieve three different time/space tradeoffs for path reporting by designing (a) an O(n)word structure with O(lgϵ n+ occ lgϵ n) query time, where occ is the number of nodes reported; (b) an O(n lg lgn)word structure with O(lg lg n+ occ lg lgn) query time; and (c) an O(n lgϵ n)word structure withO(lg lg n+occ) query time. These tradeoffs match the state of the art of twodimensional orthogonal range reporting queries [8] which can be treated as a special case of path reporting queries. When the number of distinct weights is much smaller than n, we further improve both the query time and the space cost of these three results. 1