Results 1 - 10
of
16
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.
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.
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...
Maintaining Center and Median in Dynamic Trees
, 2000
"... We show how to maintain centers and medians for a collection of dynamic trees where edges may be inserted and deleted and node and edge weights may be changed. All updates are supported in O(log n) time, where n is the size of the tree(s) involved in the update. ..."
Abstract
-
Cited by 15 (4 self)
- Add to MetaCart
We show how to maintain centers and medians for a collection of dynamic trees where edges may be inserted and deleted and node and edge weights may be changed. All updates are supported in O(log n) time, where n is the size of the tree(s) involved in the update.
Maintaining information in fully-dynamic trees with top trees
- ACM Transactions on Algorithms
, 2003
"... We introduce top trees as a design of a new simpler interface for data structures maintaining information in a fully-dynamic forest. We demonstrate how easy and versatile they are to use on a host of different applications. For example, we show how to maintain the diameter, center, and median of eac ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
We introduce top trees as a design of a new simpler interface for data structures maintaining information in a fully-dynamic forest. We demonstrate how easy and versatile they are to use on a host of different applications. For example, we show how to maintain the diameter, center, and median of each tree in the forest. The forest can be updated by insertion and deletion of edges and by changes to vertex and edge weights. Each update is supported in O(log n) time, where n is the size of the tree(s) involved in the update. Also, we show how to support nearest common ancestor queries and level ancestor queries with respect to arbitrary roots in O(log n) time. Finally, with marked and unmarked vertices, we show how to compute distances to a nearest marked vertex. The later has applications to approximate nearest marked vertex in general graphs, and thereby to static optimization problems over shortest path metrics. Technically speaking, top trees are easily implemented either with Frederickson’s topology trees [Ambivalent Data Structures for Dynamic 2-Edge-Connectivity and k Smallest Spanning Trees, SIAM J. Comput. 26 (2) pp. 484–538, 1997] or with Sleator and Tarjan’s dynamic
Output-Sensitive Reporting of Disjoint Paths
, 1996
"... A k-path query on a graph consists of computing k vertex-disjoint paths between two given vertices of the graph, whenever they exist. In this paper, we study the problem of performing k-path queries, with k < 3, in a graph G with n vertices. We denote with the total length of the paths reported. For ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
A k-path query on a graph consists of computing k vertex-disjoint paths between two given vertices of the graph, whenever they exist. In this paper, we study the problem of performing k-path queries, with k < 3, in a graph G with n vertices. We denote with the total length of the paths reported. For k < 3, we present an optimal data structure for G that uses O(n) space and executes k-path queries in output-sensitive O() time. For triconnected planar graphs, our results make use of a new combinatorial structure that plays the same role as bipolar (st) orientations for biconnected planar graphs. This combinatorial structure also yields an alternative construction of convex grid drawings of triconnected planar graphs.
Maintaining the Classes of 4-Edge-Connectivity in a Graph On-Line
- Algorithmica
, 1995
"... Two vertices of an undirected graph are called k-edge-connected if there exist k edge-disjoint paths between them (equivalently: they cannot be disconnected by the removal of less than k edges from the graph). Equivalence classes of this relation are called classes of k-edge-connectivity, or k-edge- ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Two vertices of an undirected graph are called k-edge-connected if there exist k edge-disjoint paths between them (equivalently: they cannot be disconnected by the removal of less than k edges from the graph). Equivalence classes of this relation are called classes of k-edge-connectivity, or k-edge-connected components. This paper describes graph structures relevant to classes of 4-edge-connectivity and traces their transformations as new edges are inserted into the graph. Data structures and an algorithm to maintain incrementally these classes are given. Starting with the empty graph, any sequence of q Same-4-Class? queries and n Insert-Vertex and m Insert-Edge updates can be performed in O(q + m + n log n) total time. Each individual query requires O(1) time in the worst-case. In addition, an algorithm for maintaining the classes of k-edge-connectivity (k arbitrary) in a (k \Gamma 1)-edge-connected graph is presented. Its complexity is O(q+m+n), with n log(n=k)) preprocessing, where M is the number of edges initially in the graph and n is the number of its vertices.
IMPROVED COMPACT VISIBILITY REPRESENTATION OF Planar Graph via Schnyder’s Realizer
- SIAM J. DISCRETE MATH. C ○ 2004 SOCIETY FOR INDUSTRIAL AND APPLIED MATHEMATICS VOL. 18, NO. 1, PP. 19–29
, 2004
"... Let G be an n-node planar graph. In a visibility representation of G,eachnodeofG is represented by a horizontal line segment such that the line segments representing any two adjacent nodes of G are vertically visible to each other. In the present paper we give the best known compact visibility repre ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Let G be an n-node planar graph. In a visibility representation of G,eachnodeofG is represented by a horizontal line segment such that the line segments representing any two adjacent nodes of G are vertically visible to each other. In the present paper we give the best known compact visibility representation of G. Given a canonical ordering of the triangulated G, our algorithm draws the graph incrementally in a greedy manner. We show that one of three canonical orderings obtained �from Schnyder’s � realizer for the triangulated G yields a visibility representation of G no wider than 22n−40. Our easy-to-implement O(n)-time algorithm bypasses the complicated subroutines for 15 four-connected components and four-block trees required by the best previously known algorithm of Kant. Our result provides a negative answer to Kant’s open question about whether � � 3n−6 is a 2 worst-case lower bound on the required width. Also, if G has no degree-three (respectively, degreefive) internal node, then our visibility representation for G is no wider than � �
Fully Dynamic Planarity Testing with Applications
"... The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
The fully dynamic planarity testing problem consists of performing an arbitrary sequence of the following three kinds of operations on a planar graph G: (i) insert an edge if the resultant graph remains planar; (ii) delete an edge; and (iii) test whether an edge could be added to the graph without violating planarity. We show how to support each of the above operations in O(n2=3) time, where n is the number of vertices in the graph. The bound for tests and deletions is worst-case, while the bound for insertions is amortized. This is the first algorithm for this problem with sub-linear running time, and it affirmatively answers a question posed in [11]. The same data structure has further applications in maintaining the biconnected and triconnected components of a dynamic planar graph. The time bounds are the same: O(n2=3) worst-case time per edge deletion, O(n2=3) amortized time per edge insertion, and O(n2=3) worst-case time to check whether two vertices are either biconnected or triconnected.

