Results 1 - 10
of
61
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 221 (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 long-studied 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 source-destination 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...
Poly-logarithmic deterministic fully-dynamic 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 107 (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 deletions-only 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 tree-width, and applying dynamic programming within each piece. The same methods can be used to ..."
Abstract
-
Cited by 89 (1 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 tree-width, 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 48 (0 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
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 47 (7 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 XML-based search engines for the internet.
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 41 (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 Las-Vegas 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 worst-case time for one query is O(log n= log log n). For the k-edge 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 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, 2-edge-connectivity, and bipartiteness, in time O(n 1/2 ) per edge insertion or deletion; 2-vertex-connectivity and 3-vertex-connectivity, in time O(n) per update; and 4-vertex-connectivity, 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 on--line 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 26 (12 self)
- Add to MetaCart
. In this paper we consider an on--line 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 worst--case 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 Empirical Study of Dynamic Graph Algorithms
- ACM JOURNAL ON EXPERIMENTAL ALGORITHMICS
, 1996
"... The contributions of this paper are both of theoretical and of experimental nature. From the experimental point of view, we conduct an empirical study on some dynamic connectivity algorithms which where developed recently. In particular, the following implementations were tested and compared with ..."
Abstract
-
Cited by 24 (4 self)
- Add to MetaCart
The contributions of this paper are both of theoretical and of experimental nature. From the experimental point of view, we conduct an empirical study on some dynamic connectivity algorithms which where developed recently. In particular, the following implementations were tested and compared with simple algorithms: simple sparsification by Eppstein et al. and the recent randomized algorithm by Henzinger and King. In our experiments, we considered both random and non-random inputs. Moreover, we present a simplified variant of the algorithm by Henzinger and King, which for random inputs was always faster than the original implementation. For non-random inputs, simple sparsification was the fastest algorithm for small sequences of updates; for medium and large sequences of updates, the original algorithm by Henzinger and King was faster. From the theoretical point of view, we analyze the average case running time of simple sparsification and prove that for dynamic random graph...
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 24 (6 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) ran-domized) for planar graphs or other minor-closed 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.

