Results 11  20
of
340
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 76 (11 self)
 Add to MetaCart
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.
Dynamic and efficient key management for access hierarchies
 In Proceedings of the ACM Conference on Computer and Communications Security
, 2005
"... Hierarchies arise in the context of access control whenever the user population can be modeled as a set of partially ordered classes (represented as a directed graph). A user with access privileges for a class obtains access to objects stored at that class and all descendant classes in the hierarchy ..."
Abstract

Cited by 66 (8 self)
 Add to MetaCart
Hierarchies arise in the context of access control whenever the user population can be modeled as a set of partially ordered classes (represented as a directed graph). A user with access privileges for a class obtains access to objects stored at that class and all descendant classes in the hierarchy. The problem of key management for such hierarchies then consists of assigning a key to each class in the hierarchy so that keys for descendant classes can be obtained via efficient key derivation. We propose a solution to this problem with the following properties: (1) the space complexity of the public information is the same as that of storing the hierarchy; (2) the private information at a class consists of a single key associated with that class; (3) updates (i.e., revocations and additions) are handled locally in the hierarchy; (4) the scheme is provably secure against collusion; and (5) each node can derive the key of any of its descendant with a number of symmetrickey operations bounded by the length of the path between the nodes. Whereas many previous schemes had some of these properties, ours is the first that satisfies all of them. The security of our scheme is based on pseudorandom functions, without reliance on the Random Oracle Model. 18 Portions of this work were supported by Grants IIS0325345 and CNS06274488 from the
From Gene Trees to Species Trees
, 1998
"... This paper studies various algorithmic issues in reconstructing a species tree from gene trees under the duplication and the mutation cost model. This is a fundamental problem in computational molecular biology. Our main results are as follows. 1. A linear time algorithm is presented for computing a ..."
Abstract

Cited by 61 (3 self)
 Add to MetaCart
This paper studies various algorithmic issues in reconstructing a species tree from gene trees under the duplication and the mutation cost model. This is a fundamental problem in computational molecular biology. Our main results are as follows. 1. A linear time algorithm is presented for computing all the losses in duplications associated with the least common ancestor mapping from a gene tree to a species tree. This answers a problem raised recently by Eulenstein et al. (1998). 2. The complexity of finding an optimal species tree from gene trees is studied. The problem is proved to be NPhard for the duplication cost and for the mutation cost. Further, the concept of reconciled trees was introduced by Goodman et al. and formalized by Page for visualizing the relationship between gene and species trees. We show that constructing an optimal reconciled tree for gene trees is also NPhard. Finally, we consider a general reconstruction problem and show it to be NPhard even for the wellkn...
Tree spanners
 SIAM J. Discrete Math
, 1995
"... A tree tspanner T of a graph G is a spanning tree in which the distance between every pair of vertices is at most t times their distance in G. This notion is motivated by applications in communication networks, distributed systems, and network design. This paper studies graph theoretic, algorithmic ..."
Abstract

Cited by 59 (1 self)
 Add to MetaCart
A tree tspanner T of a graph G is a spanning tree in which the distance between every pair of vertices is at most t times their distance in G. This notion is motivated by applications in communication networks, distributed systems, and network design. This paper studies graph theoretic, algorithmic and complexity issues about tree spanners. It is shown that a tree 1spanner, if it exists, in a weighted graph with m edges and n vertices is a minimum spanning tree and can be found in O(m log β(m, n)) time, where β(m, n) = min{i  log (i) n ≤ m/n}. On the other hand, for any fixed t> 1, the problem of determining the existence of a tree tspanner in a weighted graph is proven to be NPcomplete. For unweighted graphs, it is shown that constructing a tree 2spanner takes linear time, whereas determining the existence of a tree tspanner is NPcomplete for any fixed t ≥ 4. A theorem which captures the structure of tree 2spanners is presented for unweighted graphs. For digraphs, an O((m+n)α(m, n)) algorithm is provided for
StraightLine Drawing Algorithms for Hierarchical Graphs and Clustered Graphs
 Algorithmica
, 1999
"... Hierarchical graphs and clustered graphs are useful nonclassical graph models for structured relational information. Hierarchical graphs are graphs with layering structures; clustered graphs are graphs with recursive clustering structures. Both have applications in CASE tools, software visualizatio ..."
Abstract

Cited by 59 (12 self)
 Add to MetaCart
Hierarchical graphs and clustered graphs are useful nonclassical graph models for structured relational information. Hierarchical graphs are graphs with layering structures; clustered graphs are graphs with recursive clustering structures. Both have applications in CASE tools, software visualization, and VLSI design. Drawing algorithms for hierarchical graphs have been well investigated. However, the problem of straightline representation has not been solved completely. In this paper, we answer the question: does every planar hierarchical graph admit a planar straightline hierarchical drawing? We present an algorithm that constructs such drawings in linear time. Also, we answer a basic question for clustered graphs, that is, does every planar clustered graph admit a planar straightline drawing with clusters drawn as convex polygons? We provide a method for such drawings based on our algorithm for hierarchical graphs.
Approximation Algorithms for Finding Highly Connected Subgraphs
, 1996
"... Contents 1 Introduction 2 1.1 Outline of Chapter : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2 EdgeConnectivity Problems 3 2.1 Weighted EdgeConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2 Unweighted EdgeConnectivity : : : : : ..."
Abstract

Cited by 58 (1 self)
 Add to MetaCart
Contents 1 Introduction 2 1.1 Outline of Chapter : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2 EdgeConnectivity Problems 3 2.1 Weighted EdgeConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.2 Unweighted EdgeConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.2.1 2 EdgeConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4 2.2.2 EdgeConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8 3 VertexConnectivity Problems 11 3.1 Weighted VertexConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11 3.2 Unweighted VertexConnectivity : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12 3.2.1 2 VertexConnectivity : : : : : : : : : : : : : : : : :
Optimal preprocessing for answering online product queries
, 1987
"... We examine the amount of preprocessing needed for answering certain online queries as fast as possible. We start with the following basic problem. Suppose we are given a semigroup (S,°). Let s 1,..., sn be elements of S. We want to answer online queries of the form, "What is the product s ..."
Abstract

Cited by 56 (3 self)
 Add to MetaCart
We examine the amount of preprocessing needed for answering certain online queries as fast as possible. We start with the following basic problem. Suppose we are given a semigroup (S,°). Let s 1,..., sn be elements of S. We want to answer online queries of the form, &quot;What is the product s i°s i +1 ° j −1 j n 1... °s °s? &quot; for any give ≤ i ≤ j ≤ n. We show that a preprocessing of Θ(n λ(k,n)) time and space is both necessary and sufficient to answer each such query in at most k steps, for any fixed k. The function λ(k,.) is the inverse of a certain function at the �k /2 �−th level of the primitive recursive hierarchy. In case linear preprocessing is desired, we show that one can answer each such query in at most O (α(n)) steps and that this is best possible. The function α(n) is the inverse Ackermann function. We also consider the following extended problem. Let T be a tree with an element of S associated with each of its vertices. We want to answer online queries of the form, &quot; What is the product of the elements associated with the vertices along the path from u to v? &quot; for any pair of vertices u and v in T. We derive results, which are similar to the above, for the preprocessing needed for answering such queries. All our sequential preprocessing algorithms can be parallelized efficiently to give optimal parallel algorithms which run in O (logn) time on a CREW PRAM. These parallel algorithms are optimal in both running time and total number of operations.
Lineartime construction of suffix arrays
 In Proc. 14th Symposium on Combinatorial Pattern Matching (CPM ’03
, 2003
"... Abstract. The time complexity of suffix tree construction has been shown to be equivalent to that of sorting: O(n) for a constantsize alphabet or an integer alphabet and O(n logn) for a general alphabet. However, previous algorithms for constructing suffix arrays have the time complexity of O(n l ..."
Abstract

Cited by 54 (1 self)
 Add to MetaCart
Abstract. The time complexity of suffix tree construction has been shown to be equivalent to that of sorting: O(n) for a constantsize alphabet or an integer alphabet and O(n logn) for a general alphabet. However, previous algorithms for constructing suffix arrays have the time complexity of O(n logn) even for a constantsize alphabet. In this paper we present a lineartime algorithm to construct suffix arrays for integer alphabets, which do not use suffix trees as intermediate data structures during its construction. Since the case of a constantsize alphabet can be subsumed in that of an integer alphabet, our result implies that the time complexity of directly constructing suffix arrays matches that of constructing suffix trees. 1
Faster Algorithms for String Matching with k Mismatches
 J. OF ALGORITHMS
, 2000
"... The string matching with mismatches problem is that of finding the number of mismatches between a pattern P of length m and every length m substring of the text T . Currently, the fastest algorithms for this problem are the following. The LandauVishkin algorithm finds all locations where the pat ..."
Abstract

Cited by 51 (11 self)
 Add to MetaCart
The string matching with mismatches problem is that of finding the number of mismatches between a pattern P of length m and every length m substring of the text T . Currently, the fastest algorithms for this problem are the following. The LandauVishkin algorithm finds all locations where the pattern has at most k errors (where k is part of the input) in time O(nk). The Abrahamson algorithm finds the number of mismatches at every location in time O(n p m log m). We present