Results 1  10
of
129
Finding the k Shortest Paths
, 1997
"... We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest pat ..."
Abstract

Cited by 290 (1 self)
 Add to MetaCart
We give algorithms for finding the k shortest paths (not required to be simple) connecting a pair of vertices in a digraph. Our algorithms output an implicit representation of these paths in a digraph with n vertices and m edges, in time O(m + n log n + k). We can also find the k shortest paths from a given source s to each vertex in the graph, in total time O(m + n log n +kn). We describe applications to dynamic programming problems including the knapsack problem, sequence alignment, maximum inscribed polygons, and genealogical relationship discovery. 1 Introduction We consider a longstudied generalization of the shortest path problem, in which not one but several short paths must be produced. The k shortest paths problem is to list the k paths connecting a given sourcedestination pair in the digraph with minimum total length. Our techniques also apply to the problem of listing all paths shorter than some given threshhold length. In the version of these problems studi...
Faster ShortestPath Algorithms for Planar Graphs
 STOC 94
, 1994
"... We give a lineartime algorithm for singlesource shortest paths in planar graphs with nonnegative edgelengths. Our algorithm also yields a lineartime algorithm for maximum flow in a planar graph with the source and sink on the same face. The previous best algorithms for these problems required\O ..."
Abstract

Cited by 167 (14 self)
 Add to MetaCart
We give a lineartime algorithm for singlesource shortest paths in planar graphs with nonnegative edgelengths. Our algorithm also yields a lineartime algorithm for maximum flow in a planar graph with the source and sink on the same face. The previous best algorithms for these problems required\Omega\Gamma n p log n) time where n is the number of nodes in the input graph. For the case where negative edgelengths are allowed, we give an algorithm requiring O(n 4=3 log nL) time, where L is the absolute value of the most negative length. Previous algorithms for shortest paths with negative edgelengths required \Omega\Gamma n 3=2 ) time. Our shortestpath algorithm yields an O(n 4=3 log n)time algorithm for finding a perfect matching in a planar bipartite graph. A similar improvement is obtained for maximum flow in a directed planar graph.
Spanning Trees and Spanners
, 1996
"... We survey results in geometric network design theory, including algorithms for constructing minimum spanning trees and lowdilation graphs. 1 Introduction This survey covers topics in geometric network design theory. The problem is easy to state: connect a collection of sites by a "good" network. ..."
Abstract

Cited by 143 (2 self)
 Add to MetaCart
We survey results in geometric network design theory, including algorithms for constructing minimum spanning trees and lowdilation graphs. 1 Introduction This survey covers topics in geometric network design theory. The problem is easy to state: connect a collection of sites by a "good" network. For instance, one may wish to connect components of a VLSI circuit by networks of wires, in a way that uses little surface area on the chip, draws little power, and propagates signals quickly. Similar problems come up in other applications such as telecommunications, road network design, and medical imaging [1]. One network design problem, the Traveling Salesman problem, is sufficiently important to have whole books devoted to it [79]. Problems involving some form of geometric minimum or maximum spanning tree also arise in the solution of other geometric problems such as clustering [12], mesh generation [56], and robot motion planning [93]. One can vary the network design problem in many w...
An Incremental Algorithm for a Generalization of the ShortestPath Problem
, 1992
"... The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsume ..."
Abstract

Cited by 116 (1 self)
 Add to MetaCart
The grammar problem, a generalization of the singlesource shortestpath problem introduced by Knuth, is to compute the minimumcost derivation of a terminal string from each nonterminal of a given contextfree grammar, with the cost of a derivation being suitably defined. This problem also subsumes the problem of finding optimal hyperpaths in directed hypergraphs (under varying optimization criteria) that has received attention recently. In this paper we present an incremental algorithm for a version of the grammar problem. As a special case of this algorithm we obtain an efficient incremental algorithm for the singlesource shortestpath problem with positive edge lengths. The aspect of our work that distinguishes it from other work on the dynamic shortestpath problem is its ability to handle "multiple heterogeneous modifications": between updates, the input graph is allowed to be restructured by an arbitrary mixture of edge insertions, edge deletions, and edgelength changes.
A Randomized LinearTime Algorithm to Find Minimum Spanning Trees
, 1994
"... We present a randomized lineartime 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 lineartime algorithm for verifying a minimum spanning tree. Our computational model is a unitcost ra ..."
Abstract

Cited by 115 (7 self)
 Add to MetaCart
We present a randomized lineartime 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 lineartime algorithm for verifying a minimum spanning tree. Our computational model is a unitcost randomaccess machine with the restriction that the only operations allowed on edge weights are binary comparisons.
On RAM priority queues
, 1996
"... Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential i ..."
Abstract

Cited by 70 (9 self)
 Add to MetaCart
Priority queues are some of the most fundamental data structures. They are used directly for, say, task scheduling in operating systems. Moreover, they are essential to greedy algorithms. We study the complexity of priority queue operations on a RAM with arbitrary word size. We present exponential improvements over previous bounds, and we show tight relations to sorting. Our first result is a RAM priority queue supporting insert and extractmin operations in worst case time O(log log n) where n is the current number of keys in the queue. This is an exponential improvement over the O( p log n) bound of Fredman and Willard from STOC'90. Our algorithm is simple, and it only uses AC 0 operations, meaning that there is no hidden time dependency on the word size. Plugging this priority queue into Dijkstra's algorithm gives an O(m log log m) algorithm for the single source shortest path problem on a graph with m edges, as compared with the previous O(m p log m) bound based on Fredman...
Exact and Approximate Distances in Graphs  a survey
 In ESA
, 2001
"... We survey recent and not so recent results related to the computation of exact and approximate distances, and corresponding shortest, or almost shortest, paths in graphs. We consider many different settings and models and try to identify some remaining open problems. ..."
Abstract

Cited by 57 (0 self)
 Add to MetaCart
We survey recent and not so recent results related to the computation of exact and approximate distances, and corresponding shortest, or almost shortest, paths in graphs. We consider many different settings and models and try to identify some remaining open problems.
Iterated Nearest Neighbors and Finding Minimal Polytopes
, 1994
"... Weintroduce a new method for finding several types of optimal kpoint sets, minimizing perimeter, diameter, circumradius, and related measures, by testing sets of the O(k) nearest neighbors to each point. We argue that this is better in a number of ways than previous algorithms, whichwere based o ..."
Abstract

Cited by 56 (6 self)
 Add to MetaCart
Weintroduce a new method for finding several types of optimal kpoint sets, minimizing perimeter, diameter, circumradius, and related measures, by testing sets of the O(k) nearest neighbors to each point. We argue that this is better in a number of ways than previous algorithms, whichwere based on high order Voronoi diagrams. Our technique allows us for the first time to efficiently maintain minimal sets as new points are inserted, to generalize our algorithms to higher dimensions, to find minimal convex kvertex polygons and polytopes, and to improvemany previous results. Weachievemany of our results via a new algorithm for finding rectilinear nearest neighbors in the plane in time O(n log n+kn). We also demonstrate a related technique for finding minimum area kpoint sets in the plane, based on testing sets of nearest vertical neighbors to each line segment determined by a pair of points. A generalization of this technique also allows us to find minimum volume and boundary measure sets in arbitrary dimensions.
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 lineartime algorithm for verif ..."
Abstract

Cited by 54 (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 lineartime algorithm for verifying a minimum spanning tree. Our algorithm combines the result of Koml'os with a preprocessing and table lookup method for small subproblems and with a previously known almostlineartime algorithm. Additionally, we present an optimal deterministic algorithm and a lineartime 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 welldefined 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...
Undirected Single Source Shortest Paths in Linear Time
 J. Assoc. Comput. Mach
, 1997
"... The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra' ..."
Abstract

Cited by 49 (3 self)
 Add to MetaCart
The single source shortest paths problem (SSSP) is one of the classic problems in algorithmic graph theory: given a weighted graph G with a source vertex s, find the shortest path from s to all other vertices in the graph. Since 1959 all theoretical developments in SSSP have been based on Dijkstra's algorithm, visiting the vertices in order of increasing distance from s. Thus, any implementation of Dijkstra 's algorithm sorts the vertices according to their distances from s. However, we do not know how to sort in linear time. Here, a deterministic linear time and linear space algorithm is presented for the undirected single source shortest paths problem with integer weights. The algorithm avoids the sorting bottleneck by building a hierechical bucketing structure, identifying vertex pairs that may be visited in any order. 1 Introduction Let G = (V; E), jV j = n, jEj = m, be an undirected connected graph with an integer edge weight function ` : E ! N and a distinguished source vertex...