Results 1  10
of
67
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 (2 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 123 (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 ...
Subgraph Isomorphism in Planar Graphs and Related Problems
, 1999
"... We solve the subgraph isomorphism problem in planar graphs in linear time, for any pattern of constant size. Our results are based on a technique of partitioning the planar graph into pieces of small treewidth, and applying dynamic programming within each piece. The same methods can be used to ..."
Abstract

Cited by 109 (3 self)
 Add to MetaCart
We solve the subgraph isomorphism problem in planar graphs in linear time, for any pattern of constant size. Our results are based on a technique of partitioning the planar graph into pieces of small treewidth, and applying dynamic programming within each piece. The same methods can be used to solve other planar graph problems including connectivity, diameter, girth, induced subgraph isomorphism, and shortest paths.
Dynamic Graph Algorithms
, 1999
"... Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamicall ..."
Abstract

Cited by 55 (1 self)
 Add to MetaCart
Introduction In many applications of graph algorithms, including communication networks, graphics, assembly planning, and VLSI design, graphs are subject to discrete changes, such as additions or deletions of edges or vertices. In the last decade there has been a growing interest in such dynamically changing graphs, and a whole body of algorithms and data structures for dynamic graphs has been discovered. This chapter is intended as an overview of this field. In a typical dynamic graph problem one would like to answer queries on graphs that are undergoing a sequence of updates, for instance, insertions and deletions of edges and vertices. The goal of a dynamic graph algorithm is to update efficiently the solution of a problem after dynamic changes, rather than having to recompute it from scratch each time. Given their powerful versatility, it is not surprising that dynamic algorithms and dynamic data structures are often more difficult to design and analyze than their static c
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 52 (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...
Improved Labeling Scheme for Ancestor Queries
, 2001
"... We present a labeling scheme for rooted trees that supports ancestor queries. Given a tree, the scheme assigns to each node a label which is a binary string. Given the labels of any two nodes u and v, it can in constant time be determined whether u is ancestor to v alone from these labels. For tr ..."
Abstract

Cited by 50 (6 self)
 Add to MetaCart
We present a labeling scheme for rooted trees that supports ancestor queries. Given a tree, the scheme assigns to each node a label which is a binary string. Given the labels of any two nodes u and v, it can in constant time be determined whether u is ancestor to v alone from these labels. For trees of size n our scheme assigns labels of size bounded by log n + O( p log n) bits to each node. This improves a recent result of Abiteboul, Kaplan and Milo at SODA'01, where a labeling scheme with labels of size 3=2 log n+ O(log log n) was presented. The problem is among other things motivated in connection with ecient representation of information for XMLbased search engines for the internet.
Parametric and Kinetic Minimum Spanning Trees
"... We consider the parametric minimum spanning treeproblem, in which we are given a graph with edge weights that are linear functions of a parameter * and wish tocompute the sequence of minimum spanning trees generated as * varies. We also consider the kinetic minimumspanning tree problem, in which * r ..."
Abstract

Cited by 29 (7 self)
 Add to MetaCart
We consider the parametric minimum spanning treeproblem, in which we are given a graph with edge weights that are linear functions of a parameter * and wish tocompute the sequence of minimum spanning trees generated as * varies. We also consider the kinetic minimumspanning tree problem, in which * represents time and the graph is subject in addition to changes such as edge insertions, deletions, and modifications of the weight functions as time progresses. We solve both problems in time O(n2=3 log4=3 n) per combinatorial change in the tree (or randomized O(n2=3 log n) per change). Our time bounds reduce to O(n1=2 log3=2 n) per change (O(n1=2 log n) randomized) for planar graphs or other minorclosed families of graphs, and O(n1=4 log3=2 n) per change (O(n1=4 log n) randomized) for planar graphs with weight changes but no insertions or deletions.
Improved Sparsification
, 1993
"... In previous work we introduced sparsification, a technique that transforms fully dynamic algorithms for sparse graphs into ones that work on any graph, with a logarithmic increase in complexity. In this work we describe an improvement on this technique that avoids the logarithmic overhead. Using ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
In previous work we introduced sparsification, a technique that transforms fully dynamic algorithms for sparse graphs into ones that work on any graph, with a logarithmic increase in complexity. In this work we describe an improvement on this technique that avoids the logarithmic overhead. Using our improved sparsification technique, we keep track of the following properties: minimum spanning forest, best swap, connectivity, 2edgeconnectivity, and bipartiteness, in time O(n 1/2 ) per edge insertion or deletion; 2vertexconnectivity and 3vertexconnectivity, in time O(n) per update; and 4vertexconnectivity, in time O(n#(n)) per update.
Minimizing Diameters of Dynamic Trees
 In Proc. 24th International Colloquium on Automata, Languages, and Programming (ICALP
, 1997
"... . In this paper we consider an online problem related to minimizing the diameter of a dynamic tree T . A new edge f is added, and our task is to delete the edge e of the induced cycle so as to minimize the diameter of the resulting tree T [ffgnfeg. Starting with a tree with n nodes, we show how e ..."
Abstract

Cited by 28 (11 self)
 Add to MetaCart
. In this paper we consider an online problem related to minimizing the diameter of a dynamic tree T . A new edge f is added, and our task is to delete the edge e of the induced cycle so as to minimize the diameter of the resulting tree T [ffgnfeg. Starting with a tree with n nodes, we show how each such best swap can be found in worstcase O(log 2 n) time. The problem was raised by Italiano and Ramaswami at ICALP'94 together with a related problem for edge deletions. Italiano and Ramaswami solved both problems in O(n) time per operation. 1 Introduction The diameter of a tree is the length of a longest simple path in the tree and such a path is called a diameter path. The unique midpoint on all diameter paths is called the center, hence the center is the point whose maximal distance to any node is as small as possible. In 1973 Handler [4] showed how one in linear time can compute the diameter (and center) of a tree. However, as pointed out by Rauch [8], too little work has been...
An O(n log n) algorithm for maximum stflow in a directed planar graph
"... We give the first correct O(n log n) algorithm for finding a maximum stflow in a directed planar graph. After a preprocessing step that consists in finding singlesource shortestpath distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual stot path. ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
We give the first correct O(n log n) algorithm for finding a maximum stflow in a directed planar graph. After a preprocessing step that consists in finding singlesource shortestpath distances in the dual, the algorithm consists of repeatedly saturating the leftmost residual stot path.