Results 1  10
of
21
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...
Polylogarithmic deterministic fullydynamic graph algorithms I: connectivity and minimum spanning tree
 JOURNAL OF THE ACM
, 1997
"... Deterministic fully dynamic graph algorithms are presented for connectivity and minimum spanning forest. For connectivity, starting with no edges, the amortized cost for maintaining a spanning forest is O(log² n) per update, i.e. per edge insertion or deletion. Deciding connectivity between any two ..."
Abstract

Cited by 125 (6 self)
 Add to MetaCart
Deterministic fully dynamic graph algorithms are presented for connectivity and minimum spanning forest. For connectivity, starting with no edges, the amortized cost for maintaining a spanning forest is O(log² n) per update, i.e. per edge insertion or deletion. Deciding connectivity between any two given vertices is done in O(log n= log log n) time. This matches the previous best randomized bounds. The previous best deterministic bound was O( 3 p n log n) amortized time per update but constant time for connectivity queries. For minimum spanning trees, first a deletionsonly algorithm is presented supporting deletes in amortized time O(log² n). Applying a general reduction from Henzinger and King, we then get a fully dynamic algorithm such that starting with no edges, the amortized cost for maintaining a minimum spanning forest is O(log^4 n) per update. The previous best deterministic bound was O( 3 p n log n) amortized time per update, and no better randomized bounds were ...
Ambivalent Data Structures For Dynamic 2EdgeConnectivity And k Smallest Spanning Trees
 SIAM J. Comput
, 1991
"... . Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertice ..."
Abstract

Cited by 83 (1 self)
 Add to MetaCart
. Ambivalent data structures are presented for several problems on undirected graphs. These data structures are used in finding the k smallest spanning trees of a weighted undirected graph in O(m log #(m, n) + min{k 3/2 ,km 1/2 }) time, where m is the number of edges and n the number of vertices in the graph. The techniques are extended to find the k smallest spanning trees in an embedded planar graph in O(n + k(log n) 3 ) time. Ambivalent data structures are also used to dynamically maintain 2edgeconnectivity information. Edges and vertices can be inserted or deleted in O(m 1/2 ) time, and a query as to whether two vertices are in the same 2edgeconnected component can be answered in O(log n) time, where m and n are understood to be the current number of edges and vertices, respectively. Key words. analysis of algorithms, data structures, embedded planar graph, fully persistent data structures, k smallest spanning trees, minimum spanning tree, online updating, topology tr...
Randomized Fully Dynamic Graph Algorithms with Polylogarithmic Time per Operation
 JOURNAL OF THE ACM
, 1999
"... This paper solves a longstanding open problem in fully dynamic algorithms: We present the first fully dynamic algorithms that maintain connectivity, bipartiteness, and approximate minimum spanning trees in polylogarithmic time per edge insertion or deletion. The algorithms are designed using a new d ..."
Abstract

Cited by 54 (0 self)
 Add to MetaCart
This paper solves a longstanding open problem in fully dynamic algorithms: We present the first fully dynamic algorithms that maintain connectivity, bipartiteness, and approximate minimum spanning trees in polylogarithmic time per edge insertion or deletion. The algorithms are designed using a new dynamic technique which combines a novel graph decomposition with randomization. They are LasVegas type randomized algorithms which use simple data structures and have a small constant factor. Let n denote the number of nodes in the graph. For a sequence of \Omega\Gamma m 0 ) operations, where m 0 is the number of edges in the initial graph, the expected time for p updates is O(p log 3 n) 1 for connectivity and bipartiteness. The worstcase time for one query is O(log n= log log n). For the kedge witness problem ("Does the removal of k given edges disconnect the graph?") the expected time for p updates is O(p log 3 n) and expected time for q queries is O(qk log 3 n). Given a grap...
Dynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions
, 1995
"... We maintain the minimum spanning tree of a point set in the plane, subject to point insertions and deletions, in amortized time O(n 1/2 log 2 n) per update operation. We reduce the problem to maintaining bichromatic closest pairs, which we solve in time O(n # ) per update. Our algorithm uses a novel ..."
Abstract

Cited by 38 (4 self)
 Add to MetaCart
We maintain the minimum spanning tree of a point set in the plane, subject to point insertions and deletions, in amortized time O(n 1/2 log 2 n) per update operation. We reduce the problem to maintaining bichromatic closest pairs, which we solve in time O(n # ) per update. Our algorithm uses a novel construction, the ordered nearest neighbor path of a set of points. Our results generalize to higher dimensions, and to fully dynamic algorithms for maintaining minima of binary functions, including the diameter of a point set and the bichromatic farthest pair. 1 Introduction A dynamic geometric data structure is one that maintains the solution to some problem, defined on a geometric input such as a point set, as the input undergoes update operations such as insertions or deletions of single points. Dynamic algorithms have been studied for many geometric optimization problems, including closest pairs [7, 23, 25, 26], diameter [7, 26], width [4], convex hulls [15, 22], linear ...
Maintaining Minimum Spanning Trees in Dynamic Graphs
 IN PROC. 24TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES, AND PROGRAMMING (ICALP
, 1997
"... We present the first fully dynamic algorithm for maintaining a minimum spanning tree in time o( # n) per operation. To be precise, the algorithm uses O(n 1/3 log n) amortized time per update operation. The algorithm is fairly simple and deterministic. An immediate consequence is the first fully dyna ..."
Abstract

Cited by 28 (2 self)
 Add to MetaCart
We present the first fully dynamic algorithm for maintaining a minimum spanning tree in time o( # n) per operation. To be precise, the algorithm uses O(n 1/3 log n) amortized time per update operation. The algorithm is fairly simple and deterministic. An immediate consequence is the first fully dynamic deterministic algorithm for maintaining connectivity and, bipartiteness in amortized time O(n 1/3 log n) per update, with O(1) worst case time per query.
Decremental Dynamic Connectivity
 In Proceedings of the 8th ACMSIAM Symposium on Discrete Algorithms (SODA
, 1997
"... We consider Las Vegas randomized dynamic algorithms for online connectivity problems with deletions only. In particular, we show that starting from a graph with m edges and n nodes, we can maintain a spanning forest during m deletions in O(minfn 2 ; m log ng+ p nm log 2:5 n) expected total ti ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
We consider Las Vegas randomized dynamic algorithms for online connectivity problems with deletions only. In particular, we show that starting from a graph with m edges and n nodes, we can maintain a spanning forest during m deletions in O(minfn 2 ; m log ng+ p nm log 2:5 n) expected total time. This is amortized constant time per operation if we start with a complete graph. The deletions may be interspersed with connectivity queries, each of which is answered in constant time. The previous best bound was O(m log 2 n) by Henzinger and Thorup (1996), which covered both insertions and deletions. Our bound is stronger for m=n = !(log n). The result is based on a general randomized reduction of many deletionsonly queries to few deletions and insertions queries. Similar results are thus derived for 2edgeconnectivity, bipartiteness, and qweights minimum spanning tree. For the decremental dynamic kedgeconnectivity problem of deleting the edges of a graph starting with m edges ...
Average Case Analysis of Dynamic Graph Algorithms
 PROC. 6TH SYMP. ON DISCRETE ALGORITHMS
, 1995
"... We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We present a model for edge updates with restricted randomness in dynamic graph algorithms and a general technique for analyzing the expected running time of an update operation. This model is able to capture the average case in many applications, since (1) it allows restrictions on the set of edges which can be used for insertions and (2) the type (insertion or deletion) of each update operation is arbitrary, i.e., tot random. We use our technique to analyze existing and new dynamic algorithms for the following problems: maximum cardinality matching, minimum spanning forest, connectivity, 2edge connectivity, kedge connectivity, kvertex connectivity, and bipartiteness. Given a random graph G with m0 edges and n vertices and a sequence of 1 update operations such that the graph contains rtt edges after operation i, the expected tinhe for performing the updates for any 1 is O(/log  I= 1/x/) in the case of minimum spanning forests, connectivity, 2edge connectivity, and bipartiteness. The expected time per update operation is O(n) in the case of maximum matching. We also give improved bounds for kedge and kvertex connectivity. Additionally we give an insertionsonly algorithm for maximum cardinality matching with worstcase O(n) amortized time per insertion.
Average case analysis of dynamic geometric optimization
, 1995
"... We maintain the maximum spanning tree of a planar point set, as points are inserted or deleted, in O(log³ n) expected time per update in Mulmuley’s averagecase model of dynamic geometric computation. We use as subroutines dynamic algorithms for two other geometric graphs: the farthest neighbor fore ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
We maintain the maximum spanning tree of a planar point set, as points are inserted or deleted, in O(log³ n) expected time per update in Mulmuley’s averagecase model of dynamic geometric computation. We use as subroutines dynamic algorithms for two other geometric graphs: the farthest neighbor forest and the rotating caliper graph related to an algorithm for static computation of point set widths and diameters. We maintain the former graph in expected time O(log² n) per update and the latter in expected time O(log n) per update. We also use the rotating caliper graph to maintain the diameter, width, and minimum enclosing rectangle of a point set in expected time O(log n) per update. A subproblem uses a technique for averagecase orthogonal range search that may also be of interest.
Dynamic Graph Algorithms
, 2000
"... INTRODUCTION Dynamic graph algorithms are algorithms that maintain properties of a (possibly edgeweighted) graph while the graph is changing. These algorithms are potentially useful in a number of application areas, including communication networks, VLSI design, distributed computing, and graphics, ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
INTRODUCTION Dynamic graph algorithms are algorithms that maintain properties of a (possibly edgeweighted) graph while the graph is changing. These algorithms are potentially useful in a number of application areas, including communication networks, VLSI design, distributed computing, and graphics, where the underlying graphs are subject to dynamic changes. Efficient dynamic graph algorithms are also used as subroutines in algorithms that build and modify graphs as part of larger tasks, e.g., the algorithm for constructing Voronoi diagrams by building planar subdivisions. GLOSSARY Update: an operation that changes the graph. The primitive updates considered in the literature are edge insertions and deletions and, in the case of edgeweighted graphs, changes in edge weights. Query: a request for information about the property being maintained. For example, if the property is planarity, a query simply asks whether the graph is currently