Results 1 - 10
of
16
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees
, 1994
"... We present a randomized linear-time algorithm to find a minimum spanning tree in a connected graph with edge weights. The algorithm uses random sampling in combination with a recently discovered linear-time algorithm for verifying a minimum spanning tree. Our computational model is a unit-cost ra ..."
Abstract
-
Cited by 98 (7 self)
- Add to MetaCart
We present a randomized linear-time algorithm to find a minimum spanning tree in a connected graph with edge weights. The algorithm uses random sampling in combination with a recently discovered linear-time algorithm for verifying a minimum spanning tree. Our computational model is a unit-cost random-access machine with the restriction that the only operations allowed on edge weights are binary comparisons.
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 65 (8 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.
Finding the Hidden Path: Time Bounds for All-Pairs Shortest Paths
, 1993
"... We investigate the all-pairs shortest paths problem in weighted graphs. We present an algorithm---the Hidden Paths Algorithm---that finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra's ..."
Abstract
-
Cited by 58 (0 self)
- Add to MetaCart
We investigate the all-pairs shortest paths problem in weighted graphs. We present an algorithm---the Hidden Paths Algorithm---that finds these paths in time O(m* n+n² log n), where m is the number of edges participating in shortest paths. Our algorithm is a practical substitute for Dijkstra's algorithm. We argue that m* is likely to be small in practice, since m* = O(n log n) with high probability for many probability distributions on edge weights. We also prove an Ω(mn) lower bound on the running time of any path-comparison based algorithm for the all-pairs shortest paths problem. Path-comparison based algorithms form a natural class containing the Hidden Paths Algorithm, as well as the algorithms of Dijkstra and Floyd. Lastly, we consider generalized forms of the shortest paths problem, and show that many of the standard shortest paths algorithms are effective in this more general setting.
Verification and Sensitivity Analysis Of Minimum Spanning Trees In Linear Time
- SIAM J. Comput
, 1992
"... . Koml'os has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a linear-time algorithm for verif ..."
Abstract
-
Cited by 48 (2 self)
- Add to MetaCart
. Koml'os has devised a way to use a linear number of binary comparisons to test whether a given spanning tree of a graph with edge costs is a minimum spanning tree. The total computational work required by his method is much larger than linear, however. We describe a linear-time algorithm for verifying a minimum spanning tree. Our algorithm combines the result of Koml'os with a preprocessing and table look-up method for small subproblems and with a previously known almost-linear-time algorithm. Additionally, we present an optimal deterministic algorithm and a linear-time randomized algorithm for sensitivity analysis of minimum spanning trees. 1. Introduction. Suppose we wish to solve some problem for which we know in advance the size of the input data, using an algorithm from some well-defined class of algorithms. For example, consider sorting n numbers, when n is fixed in advance, using a binary comparison tree. Given a sufficient amount of preprocessing time and storage space, we ca...
A Simpler Minimum Spanning Tree Verification Algorithm
- Algorithmica
, 1995
"... The problem considered here is that of determining whether a given spanning tree is a minimM spanning tree. In 1984, Koml6s presented an Mgorithm which required only a linear number of comparisons, but nonlinear overhead to determine which comparisons to make. We simplify his Mgorithm and give a ..."
Abstract
-
Cited by 33 (0 self)
- Add to MetaCart
The problem considered here is that of determining whether a given spanning tree is a minimM spanning tree. In 1984, Koml6s presented an Mgorithm which required only a linear number of comparisons, but nonlinear overhead to determine which comparisons to make. We simplify his Mgorithm and give a linear time procedure for its implementation in the unit cost RAM model. The procedure uses table lookup of a few simple functions, which we precompute in time linear in the size of the tree.
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators
- IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING
, 1998
"... We present two new data structure tools---disjoint set union with bottom-up linking, and pointer-based radix sort---and combine them with bottom-level microtrees to devise the first linear-time pointer-machine algorithms for off-line least common ancestors, minimum spanning tree (MST) verification, ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
We present two new data structure tools---disjoint set union with bottom-up linking, and pointer-based radix sort---and combine them with bottom-level microtrees to devise the first linear-time pointer-machine algorithms for off-line least common ancestors, minimum spanning tree (MST) verification, randomized MST construction, and computing dominators in a flowgraph.
Distributed Verification of Minimum Spanning Trees
- Proc. 25th Annual Symposium on Principles of Distributed Computing
, 2006
"... The problem of verifying a Minimum Spanning Tree (MST) was introduced by Tarjan in a sequential setting. Given a graph and a tree that spans it, the algorithm is required to check whether this tree is an MST. This paper investigates the problem in the distributed setting, where the input is given in ..."
Abstract
-
Cited by 12 (11 self)
- Add to MetaCart
The problem of verifying a Minimum Spanning Tree (MST) was introduced by Tarjan in a sequential setting. Given a graph and a tree that spans it, the algorithm is required to check whether this tree is an MST. This paper investigates the problem in the distributed setting, where the input is given in a distributed manner, i.e., every node “knows ” which of its own emanating edges belong to the tree. Informally, the distributed MST verification problem is the following. Label the vertices of the graph in such a way that for every node, given (its own label and) the labels of its neighbors only, the node can detect whether these edges are indeed its MST edges. In this paper we present such a verification scheme with a maximum label size of O(log n log W), where n is the number of nodes and W is the largest weight of an edge. We also give a matching lower bound of Ω(log n log W) (except when W ≤ log n). Both our bounds improve previously known bounds for the problem. Our techniques (both for the lower bound and for the upper bound) may indicate a strong relation between the fields of proof labeling schemes and implicit labeling schemes. For the related problem of tree sensitivity also presented by Tarjan, our method yields rather efficient schemes for both the distributed and the sequential settings.
Embedding large subgraphs into dense graphs
"... Abstract. What conditions ensure that a graph G contains some given spanning subgraph H? The most famous examples of results of this kind are probably Dirac’s theorem on Hamilton cycles and Tutte’s theorem on perfect matchings. Perfect matchings are generalized by perfect F-packings, where instead o ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Abstract. What conditions ensure that a graph G contains some given spanning subgraph H? The most famous examples of results of this kind are probably Dirac’s theorem on Hamilton cycles and Tutte’s theorem on perfect matchings. Perfect matchings are generalized by perfect F-packings, where instead of covering all the vertices of G by disjoint edges, we want to cover G by disjoint copies of a (small) graph F. It is unlikely that there is a characterization of all graphs G which contain a perfect F-packing, so as in the case of Dirac’s theorem it makes sense to study conditions on the minimum degree of G which guarantee a perfect F-packing. The Regularity lemma of Szemerédi and the Blow-up lemma of Komlós, Sárközy and Szemerédi have proved to be powerful tools in attacking such problems and quite recently, several long-standing problems and conjectures in the area have been solved using these. In this survey, we give an outline of recent progress (with our main emphasis on F-packings, Hamiltonicity problems and tree embeddings) and describe some of the methods involved.
Design and Analysis of Data Structures for Dynamic Trees
, 2006
"... The dynamic trees problem is that of maintaining a forest that changes over time through edge insertions and deletions. We can associate data with vertices or edges and manip-ulate this data, individually or in bulk, with operations that deal with whole paths or trees. Efficient solutions to this pr ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
The dynamic trees problem is that of maintaining a forest that changes over time through edge insertions and deletions. We can associate data with vertices or edges and manip-ulate this data, individually or in bulk, with operations that deal with whole paths or trees. Efficient solutions to this problem have numerous applications, particularly in algo-rithms for network flows and dynamic graphs in general. Several data structures capable of logarithmic-time dynamic tree operations have been proposed. The first was Sleator and Tarjan’s ST-tree, which represents a partition of the tree into paths. Although reasonably fast in practice, adapting ST-trees to different applications is nontrivial. Frederickson’s topology trees, Alstrup et al.’s top trees, and Acar et al.’s RC-trees are based on tree contractions: they progressively combine vertices or edges to obtain a hierarchical represen-tation of the tree. This approach is more flexible in theory, but all known implementations assume the trees have bounded degree; arbitrary trees are supported only after ternar-ization. This thesis shows how these two approaches can be combined (with very little overhead) to produce a data structure that is at least as generic as any other, very easy to
Data structures for range minimum queries in multidimensional arrays
- In Proceedings of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms
, 2010
"... Given a d-dimensional array A with N entries, the Range Minimum Query (RMQ) asks for the minimum element within a contiguous subarray of A. The 1D RMQ problem has been studied intensively because of its relevance to the Nearest Common Ancestor problem and its important use in stringology. If constan ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Given a d-dimensional array A with N entries, the Range Minimum Query (RMQ) asks for the minimum element within a contiguous subarray of A. The 1D RMQ problem has been studied intensively because of its relevance to the Nearest Common Ancestor problem and its important use in stringology. If constant-time query answering is required, linear time and space preprocessing algorithms were known for the 1D case, but not for the higher dimensional cases. In this paper, we give the first linear-time preprocessing algorithm for arrays with fixed dimension, such that any range minimum query can be answered in constant time. 1

